本文转自公众号机器之心

这是一个内部运行 Python 的开源键盘,可根据个人需求定制键盘映射。从此以后,「穷苦玩家」也能在 MOBA 游戏里一键放连招了,不知这样算不算硬件外挂?「氪金玩家」请绕道。

近日,一位中国开发者在 GitHub 上开源了一个带有 USB 和蓝牙的手工「焊」接 Python 键盘的代码。该项目使用了 AdaFruit 的人员开发的 CircuitPython(衍生自 MicroPython)的特定实现,该实现可以在容纳 256K 的代码空间和 16K 的 RAM 的虚拟机上运行。这一 Python 键盘可以让用户轻松地使用 Python 编写控制板。项目地址:https://github.com/makerdiary/python-keyboard下面我们就来看下这个 Python 键盘的具体操作和实现细节。操作步骤在 GitHub 上,作者详细描述了制作这个 Python 键盘的操作步骤,总结起来包括:1. 手工「焊」接键盘下面这些图展示了作者对这些键盘内部结构的改造。去掉键盘帽扣,作者用焊丝把关联按键连接起来,达到下图这样的效果。最后,作者把一个能够运行 Python 的开源控制板连接到键盘上。最终图示如下。2. 编程 Pitaya Go第二步是对上图中红色设备的编程。作者在 Github 中编写了详细的指南,对 Pitaya Go 进行编程并烧写到 Flash CircuitPython 固件上。3. 下载 CircuitPython 库接下来,下载两个 CircuitPython 库:adafruit-ble 和 adafruit-hid,并将它们放入名为 CIRCUITPY 的 USB 驱动器里的 lib 目录中,如下图所示。4. 复制代码最后一步是将 Python 的代码复制到 code.py。重新加载 code.py 后,我们就可以获得一个带有 USB 以及蓝牙的键盘了。完整代码作者也开源到 Github 项目中。生产力升级60%(61 键)的键盘缺少 F1~F12、方向键、PgUp、PgDn 等键位。该项目加入了 tmk_keyboard 项目中的键位映射功能,同时参考了 Toward a more useful keyboard 项目对于键位设置上的优化理念,使得小键盘更具生产力「折腾才有乐趣,就是不买全键盘」!

  • tmk_keyboard 项目地址:https://github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/keymap.md

  • Toward a more useful keyboard 项目地址: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 要轻量化得多。整个开发过程也会简单得多。参考链接:https://news.ycombinator.com/item?id=23219641

KEY键盘映射_手焊键盘,使用Python编写,一键放连招,还有什么你不会相关推荐

  1. 自己动手「焊」键盘,使用Python编写,一键放连招不在话下

    这是一个内部运行 Python 的开源键盘,可根据个人需求定制键盘映射.从此以后,「穷苦玩家」也能在 MOBA 游戏里一键放连招了,不知这样算不算硬件外挂?「氪金玩家」请出门右转购买宏编程键盘. 很多 ...

  2. 自己动手「焊」键盘,使用Python编写,一键放连招不在话下!

    这是一个内部运行 Python 的开源键盘,可根据个人需求定制键盘映射.从此以后,「穷苦玩家」也能在 MOBA 游戏里一键放连招了,不知这样算不算硬件外挂?「氪金玩家」请出门右转购买宏编程键盘. 近日 ...

  3. 定制一个Python开源键盘,一键放连招不在话下

    这是一个内部运行 Python 的开源键盘,可根据个人需求定制键盘映射. 从此以后,"穷苦玩家"也能在 MOBA 游戏里一键放连招了,不知这样算不算硬件外挂? 近日,一位中国开发者 ...

  4. 玩游戏用什么轴的机械键盘好_机械键盘下的“轴”到底是什么?

    石楚野/陈乐龑 OFFSHORE 微信号:overdosed0515 想必玩电脑游戏的玩家都对机械键盘这个东西感到熟悉吧,那么我今天就来介绍一下什么是机械键盘,"轴"又是一个什么东 ...

  5. 玩游戏用什么轴的机械键盘好_机械键盘选什么轴?全方面分析各轴手感和区别...

    在现在的科学社会发展下,科技领域也是最重要的发展方向.而现在人们最普遍配备和使用的工具也包含着各个款式的电脑,最主要常见的类别还是台式和笔记本电脑.其中 在使用电脑时,为了更方便办公打字和手感体验上的 ...

  6. python网页编程测试_李亚涛:python编写友情链接检测工具

    原标题:李亚涛:python编写友情链接检测工具 友情链接是网站外链的非常重要的来源,作为一个网站运营推广人员,需要定期对网站的友链进行更新与检查,如果有人下掉你的链接,这样你可以及时的检测并清除掉. ...

  7. python hist函数_虎哥的python小技巧放送之绘制统计图(2)

    先放出第一期让大家回顾一下上次的内容 虎哥的python小技巧放送之绘制统计图(1) 第一期主要给大家讲了一些图形设置的东西.这一次开始正式带大家画图~ 折线图:折线图可以通过matplotlib中的 ...

  8. python打代码运行图形_利用aardio给python编写图形界面

    前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了. 于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有"特色& ...

  9. go语言源自python语言_别再用Python编写机器学习基础设施啦,Go语言它不香吗?...

    Go 是一种静态强类型.编译型.并发型且具有垃圾回收功能的编程语言,其优点包括部署简单.并发性好.语言设计良好.执行性能好等等.Python 是机器学习项目中最流行的语言,几乎在每个机器学习项目中都能 ...

最新文章

  1. 企业融入租时代 谋求轻资产化高效运营
  2. xxl-job 2.1.1执行器源码解读
  3. JAVA流程控制学习总结
  4. 回溯算法之幸运的袋子
  5. Java正则表达式应用总结
  6. 机器学习与计算机视觉(opencl编程)
  7. 【java学习之路】(java SE篇)(练习)集合练习:经典例题
  8. Apache优化配置
  9. Linux内存管理宏观篇(五)物理内存:页面分配和释放页面
  10. QGIS获取OSM地图矢量数据
  11. 移植Python3到TQ2440(二)
  12. roaringbitmap java,BitMap与RoaringBitmap、JavaEWAH
  13. 应各位朋友的要求,贴出当年写的考研经历文章,希望能再给准备考研的朋友一些启发吧
  14. 【爬虫】Web Scraper正则表达式
  15. 辽宁移动_E900V21E_S905L3_线刷固件包
  16. C语言实践——双人五子棋(简易版)
  17. 2014山东省第五届ACM省赛
  18. 33:判断字符串是否为回文
  19. 寄居蟹与海葵c语言大作业,OJ刷题之《寄居蟹与海葵》
  20. 高等数学笔记:关于等价无穷小替换的一个猜想

热门文章

  1. GIAC | 大数据分析系统在游戏领域的迭代与实践
  2. 腾讯云安全专家 Killer 告诉你,企业上云怎么做更安全
  3. redis反杀面试官之10问
  4. 爬虫 spider05——使用httpclient发送get请求、post请求
  5. leetcode 235. 二叉搜索树的最近公共祖先(Java版,树形dp套路)
  6. 数据结构:试设计一个算法,改造一个带表头结点的双向链表,所有结点的原有次序保持在各个结点的右链域rLink中,并利用左链域ILink把所有结点按照其值从小到大的顺序连接起来
  7. 【教程】如何给Eclipse中添加库(jar包)
  8. 牛客网_PAT乙级_1031. 查验身份证(15)【class new一个数组】
  9. b g opencv读入的图片 r_OpenCV提取显示一张图片(或者视频)的R,G,B颜色分量
  10. 【工作笔记】ElasticSearch —— 常用插件/工具汇总