当前位置: 首页 > 科技观察

自己动手“焊”键盘,用Python写的,一键连招很轻松

时间:2023-03-19 20:14:00 科技观察

这是一个开源的键盘,内部运行Python,可以根据个人需求自定义键盘映射。从此,“穷玩家”也可以在MOBA游戏中一键打出连招了。我想知道这是否被认为是硬件插件?“氪金玩家”请出门右转购买宏编程键盘。最近,一位中国开发者在GitHub上开源了一个用USB和蓝牙手动“焊接”Python键盘的代码。该项目使用由AdaFruit的人员开发的CircuitPython(派生自MicroPython)的特定实现,它可以在具有256K代码空间和16KRAM的虚拟机上运行。这个Python键盘允许用户使用Python轻松地对仪表板进行编程。项目地址:https://github.com/makerdiary/python-keyboard下面我们来看看这个Python键盘的具体操作和实现细节。操作步骤在GitHub上。作者详细描述了制作这个Python键盘的操作步骤。综上所述,包括:1、手动“焊”键盘。下图是笔者对这些键盘内部结构的改造。拆下键盘帽扣后,笔者使用焊丝连接相关按键,达到下图效果。最后,作者连接了一个能够在键盘上运行Python的开源控制板。最终图如下。2.PitayaGo编程第二步就是对上图中红色的设备进行编程。作者在Github写了一份详细的PitayaGo编程指南,烧写到FlashCircuitPython固件。3.下载CircuitPython库接下来,下载两个CircuitPython库:adafruit-ble和adafruit-hid,并将它们放在名为CIRCUITPY的U盘的lib目录中,如下图所示。4.复制代码最后一步是将Python代码复制到code.py。重新加载code.py后,我们可以得到一个带USB和蓝牙的键盘。完整代码作者也开源到Github项目。生产力提升60%的键盘(61键)缺少F1~F12、方向键、PgUp、PgDn等按键。本项目在tmk_keyboard项目中加入了键位映射功能,同时参考了Towardamoreusefulkeyboard项目的键位设置优化理念,让小键盘更高效。“折腾挺好玩的,别买全键盘就好了”!tmk_keyboard项目地址:https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/keymap.md往更好用的键盘项目地址:https://github.com/jasonrudolph/keyboard由于使用Python的通过编写键盘映射,我们可以轻松地个性化按键。“以后谁还需要宏编程键盘,大雾。”该项目自带Tap-key功能,即按住一个键可以激活交替功能模式,在60%的键盘上扩展更多的按键。我们只需要将keyboard.py和keycodes.py复制到CIRCUITPY目录下,然后修改code.py导入新的键盘,然后D键就可以作为导航了。当你只想输出D时,可以快速点击它,并按住D以激活导航功能。改变后的键位如下图所示。此时H、J、K、L键分别映射为上下左右方向键,而U、N则映射为PgUp、PgDn。还支持同时按住两个键(间隔小于25毫秒)以激活交替功能模式,并按住“;”键为Ctrl。为什么要用Python编写?这个项目在hackernews和twitter上都吸引了很多人。大多数人认为这是一个非常有创意的想法,以前从未见过这种操作。但是由于笔者在项目中使用的语言是Python,所以大家不免担心速度问题。对此,作者回复说,“确实有点慢,现在扫描一个矩阵需要4毫秒,但优化后速度会提高。”既然用Python速度慢,为什么不用C语言写呢?没那么复杂。作者说,“项目中的硬件包含一个QSPI闪存,这是一个USB存储器,用于保存Python源代码,可以直接修改Python代码。而且,使用Python提供了一种快速验证的新方法。硬件产品的想法。”此外,有人帮助作者添加了使用Python的好处。ta指出,这个项目中使用的CircuitPython实现运行在一个非常不同的VM上,虽然不能期望它接近C性能,但它比Cpython轻得多。整个开发过程也会简单很多。