前篇文章《键盘手焊还不够?里面跑个Python更过瘾》下,有小伙伴留言问,跑Python的键盘延迟怎么样?实测了下,延迟在10ms左右,还有挺大的优化空间(之前说过可以做游戏键盘,挖的坑要填上),日常使用完全可以,而我正是用这个Python键盘在写这篇文章。

这个Python键盘和常见的键盘有很大的不同,它连上电脑,不仅是一个键盘,也是一个U盘,可以直接编辑U盘中Python文件即可修改或配置键盘,还会模拟出一个串口,打开之后是Python的REPL。

里面的代码放在了

python-keyboard​github.com

其中实现了TMK和QMK中的一些功能,比如多层级、Tap-key等

  • Tap-key,即按住某个键不放则激活另外的功能

类似《解开键盘封印,释放生产力》中的配置理念,这里把d键用作Tap-key,短按d键输出的d(按下后,快速释放),按住d不放则激活移动光标功能, h, j, k, l, u, n被映射为方向键、PgUp和PgDn。

按住 d + h, j, k, l 映射为方向键← ↓ ↑ →,而d + u = PgUpd + n = PgDn

当然你也可以根据自己的需求配置键位 (keymap),则打开U盘中的keyboard.py编辑即可,以上功能的keymap是这样的:

KEYMAP = (# layer 0(ESC, 1,  2,  3,  4,  5,  6,  7,  8,  9,  0, '-', '=', BACKSPACE,TAB,  Q,  W,  E,  R,  T,  Y,  U,  I,  O,  P, '[', ']', '|',CAPS,  A, S, L2D,  F,  G,  H,  J,  K,  L, ';', '"',       ENTER,LSHIFT,  Z,  X,  C,  V,  B,  N,  M, ',', '.', '/',       RSHIFT,LCTRL, LGUI, LALT,        SPACE,         RALT, MENU,  L1, RCTRL),# layer 1('`',  F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9, F10, F11, F12, DEL,___, ___,  UP, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___, ___,___,LEFT,DOWN,RIGHT,___, ___, ___, ___, ___, ___, ___, ___,      ___,___, ___, ___, ___, ___,BOOT, ___, ___, ___, ___, ___,           ___,___, ___, ___,                ___,               ___, ___, ___,  ___),# layer 2('`',  F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9, F10, F11, F12, DEL,___, ___, ___, ___, ___, ___, ___,PGUP, ___, ___, ___, ___, ___, ___,___, ___, ___, ___, ___, ___,LEFT, UP,DOWN,RIGHT, ___, ___,      ___,___, ___, ___, ___, ___, ___,PGDN, ___, ___, ___, ___,           ___,___, ___, ___,                ___,               ___, ___, ___,  ___),
)

keymap中也包含了用Fn将数字行切换为F1~F12的功能。

这样配置键盘是否比市面上的键盘更加简单呢?不需要下载任何软件,直接用文本编辑器修改保存即可。

这个 Python 键盘还支持了同时按下两个按键 (间隔不超过25ms) 激活特殊功能,比如,在游戏中,按住j + k放个大招之类。

也计划支持长按;用作Ctrl,用;+c替代Ctrl+c,这个在 VS Code 中使用很方便。VS Code中,未选中文本时,Ctrl + c是复制光标所在的行,之后Ctrl + v,则把复制的行粘贴到光标下新的一行 ,右手按;作为Ctrl,左手按xcv,还挺方便的。当然,这些都可以根据自己按键习惯更改。

另外,正在编写生成键盘击键热图(keyboard heatmap)的功能,可以通过keyboard heatmap帮助我们了解自己的打字习惯,然后配置适合自己的keymap,击键热图大概是这样的:

计划中,键盘的U盘中会有一个名为heatmap.html 的网页,这是一个动态生成的网页,打开这个网页则显示keyboard heatmap。

还用挺多可以做的,比如

  • 更好的方式加入宏
  • 添加鼠标功能
  • 提升响应速度

如果你也对Python键盘很感兴趣,可以关注这个专栏,或者 github/python-keyboard

Stay tuned!

swt 键盘事件ctrl+c_跑Python的键盘可以很强大相关推荐

  1. python键盘按键名称_跑Python的键盘可以很强大

    前篇文章<键盘手焊还不够?里面跑个Python更过瘾>下,有小伙伴留言问,跑Python的键盘延迟怎么样?实测了下,延迟在10ms左右,还有挺大的优化空间(之前说过可以做游戏键盘,挖的坑要 ...

  2. swt 键盘事件ctrl+c_VB键盘事件详解

    "本节课程一起学习VB中的键盘事件."键盘事件的作用:获得键盘输入信息,只有获得焦点的对象才能接受键盘事件.键盘事件有三种:KeyPress.KeyDown.KeyUpKeyPre ...

  3. vue绑定键盘事件 ctrl+enter触发事件

    公司项目(vue+element)有个需求,是在一个input输入内容后按下Enter键进行搜索查询,查询到得数据显示在表格,勾选表格的选中的数据进行提交(提交按钮的快捷键是Ctrl+Enter键盘) ...

  4. python获取键盘事件_50-用Python监听鼠标和键盘事件

    PyHook是一个基于Python的"钩子"库,主要用于监听当前电脑上鼠标和键盘的事件.这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在W ...

  5. jq html 回车提交表单,jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)

    键盘事件处理所有用户在键盘敲击的情况,不管在文本输入区域内部还是外部.键盘事件在不同的浏览器中作用的范围是不一样的,通常这种键盘事件可以作用于 Form元素,a标签元素,window ,documen ...

  6. vue绑定键盘事件无效问题,vue绑定键盘delete事件示例,组合键绑定

    项目有个需求,点击某个组件,按delete健后删除,于是乎第一就是想到了键盘事件 @keyup.delete='deleteKeyup(e)' 可是按delete键试了半天都没反应,加了.native ...

  7. Selenium 键盘事件 操作大全

    今天你学习了吗? 一.导入键盘事件 1.导入语句 想使用selenium中的键盘事件,首先我们必须导入Keys包,需要注意的是包名称Keys首字母需要大写.Keys类中提供了几乎所有的键盘事件包括组合 ...

  8. 总结Selenium WebDriver中一些鼠标和键盘事件的使用

    在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 W ...

  9. jquery实现上下左右键盘监听_基于 jQuery 实现键盘事件监听控件

    最近项目里要做一个画板,需要对键盘事件进行监听,来进行诸如撤回.重做.移动.缩放等操作,因此顺手实现了一个键盘事件监听控件,期间略有收获,整理出来,希望对大家有所帮助,更希望能获得高手的指点. 1. ...

最新文章

  1. mysql8 php7_windows10-nginx-mysql8.0-php7.0环境搭建
  2. jquery中动画效果的函数
  3. 简单易用的库存管理软件、进销存软件
  4. 深入理解Kubernetes容器网络
  5. 我们公司使用了 6 年的分布式锁,很是牛逼啊!
  6. .net连接SqlServer数据库
  7. MAC OS X U盘启动安装盘制作(附安装过程截图)
  8. QCOM和其他常见芯片平台术语缩写
  9. 数商云渠道分销管理系统方案:分销渠道系统趋势、作用、功能、业务场景
  10. “极狐•华为HI版本”的尴尬与困境
  11. onedrive 添加到本地硬盘_Win10系统OneDrive映射到本地磁盘的解决设置技巧
  12. mac更新系统后xcode-select --install使用问题
  13. 《五月集训》第十四天——栈
  14. 如何在不重装系统的情况下换固态硬盘?
  15. ipad微信已连接服务器失败,云旗舰云非凡千纸鹤微信安全提醒怎么办,你的微信账号通过ipad副设备发表失败...
  16. 泰勒公式--泰勒多项展开以及应用
  17. win10计算机运行在哪里,Win10运行在哪(开始、快捷键、所有应用)
  18. CMNET和CMWAP
  19. css3 text-overflow制作固定区域的博客列表
  20. 哪些行业和岗位的人适合考PMP?

热门文章

  1. SAP Spartacus autofocus directive,如何锁住使用了directive的元素本身?
  2. SAP Spartacus split view控制同屏显示最大视图数的配置
  3. SAP Hybris Commerce,CRM和C4C的登录语言选择
  4. SAP CRM文本配置里的Continue标签,到底控制了什么行为
  5. Hybris commerce里用web service为什么查询不到产品的描述信息
  6. CL_CRM_REPORT_QUESTION call CRM_REPORT_RF_CHECK_AUTHORITY
  7. Fiori Fundamentals和SAP UI5 Web Components
  8. 关于Tomcat如何处理Open Redirect的问题
  9. SAP CRM Business partner API里的buffer设计
  10. java中活锁和死锁的区别_死锁、活锁、饿死和阻塞的个人理解