swt 键盘事件ctrl+c_跑Python的键盘可以很强大
前篇文章《键盘手焊还不够?里面跑个Python更过瘾》下,有小伙伴留言问,跑Python的键盘延迟怎么样?实测了下,延迟在10ms左右,还有挺大的优化空间(之前说过可以做游戏键盘,挖的坑要填上),日常使用完全可以,而我正是用这个Python键盘在写这篇文章。
这个Python键盘和常见的键盘有很大的不同,它连上电脑,不仅是一个键盘,也是一个U盘,可以直接编辑U盘中Python文件即可修改或配置键盘,还会模拟出一个串口,打开之后是Python的REPL。
里面的代码放在了
python-keyboardgithub.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 = PgUp
,d + 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
,左手按x
、c
或v
,还挺方便的。当然,这些都可以根据自己按键习惯更改。
另外,正在编写生成键盘击键热图(keyboard heatmap)的功能,可以通过keyboard heatmap帮助我们了解自己的打字习惯,然后配置适合自己的keymap,击键热图大概是这样的:
计划中,键盘的U盘中会有一个名为heatmap.html
的网页,这是一个动态生成的网页,打开这个网页则显示keyboard heatmap。
还用挺多可以做的,比如
- 更好的方式加入宏
- 添加鼠标功能
- 提升响应速度
如果你也对Python键盘很感兴趣,可以关注这个专栏,或者 github/python-keyboard
Stay tuned!
swt 键盘事件ctrl+c_跑Python的键盘可以很强大相关推荐
- python键盘按键名称_跑Python的键盘可以很强大
前篇文章<键盘手焊还不够?里面跑个Python更过瘾>下,有小伙伴留言问,跑Python的键盘延迟怎么样?实测了下,延迟在10ms左右,还有挺大的优化空间(之前说过可以做游戏键盘,挖的坑要 ...
- swt 键盘事件ctrl+c_VB键盘事件详解
"本节课程一起学习VB中的键盘事件."键盘事件的作用:获得键盘输入信息,只有获得焦点的对象才能接受键盘事件.键盘事件有三种:KeyPress.KeyDown.KeyUpKeyPre ...
- vue绑定键盘事件 ctrl+enter触发事件
公司项目(vue+element)有个需求,是在一个input输入内容后按下Enter键进行搜索查询,查询到得数据显示在表格,勾选表格的选中的数据进行提交(提交按钮的快捷键是Ctrl+Enter键盘) ...
- python获取键盘事件_50-用Python监听鼠标和键盘事件
PyHook是一个基于Python的"钩子"库,主要用于监听当前电脑上鼠标和键盘的事件.这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在W ...
- jq html 回车提交表单,jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
键盘事件处理所有用户在键盘敲击的情况,不管在文本输入区域内部还是外部.键盘事件在不同的浏览器中作用的范围是不一样的,通常这种键盘事件可以作用于 Form元素,a标签元素,window ,documen ...
- vue绑定键盘事件无效问题,vue绑定键盘delete事件示例,组合键绑定
项目有个需求,点击某个组件,按delete健后删除,于是乎第一就是想到了键盘事件 @keyup.delete='deleteKeyup(e)' 可是按delete键试了半天都没反应,加了.native ...
- Selenium 键盘事件 操作大全
今天你学习了吗? 一.导入键盘事件 1.导入语句 想使用selenium中的键盘事件,首先我们必须导入Keys包,需要注意的是包名称Keys首字母需要大写.Keys类中提供了几乎所有的键盘事件包括组合 ...
- 总结Selenium WebDriver中一些鼠标和键盘事件的使用
在使用 Selenium WebDriver 做自动化测试的时候,会经常模拟鼠标和键盘的一些行为.比如使用鼠标单击.双击.右击.拖拽等动作:或者键盘输入.快捷键使用.组合键使用等模拟键盘的操作.在 W ...
- jquery实现上下左右键盘监听_基于 jQuery 实现键盘事件监听控件
最近项目里要做一个画板,需要对键盘事件进行监听,来进行诸如撤回.重做.移动.缩放等操作,因此顺手实现了一个键盘事件监听控件,期间略有收获,整理出来,希望对大家有所帮助,更希望能获得高手的指点. 1. ...
最新文章
- mysql8 php7_windows10-nginx-mysql8.0-php7.0环境搭建
- jquery中动画效果的函数
- 简单易用的库存管理软件、进销存软件
- 深入理解Kubernetes容器网络
- 我们公司使用了 6 年的分布式锁,很是牛逼啊!
- .net连接SqlServer数据库
- MAC OS X U盘启动安装盘制作(附安装过程截图)
- QCOM和其他常见芯片平台术语缩写
- 数商云渠道分销管理系统方案:分销渠道系统趋势、作用、功能、业务场景
- “极狐•华为HI版本”的尴尬与困境
- onedrive 添加到本地硬盘_Win10系统OneDrive映射到本地磁盘的解决设置技巧
- mac更新系统后xcode-select --install使用问题
- 《五月集训》第十四天——栈
- 如何在不重装系统的情况下换固态硬盘?
- ipad微信已连接服务器失败,云旗舰云非凡千纸鹤微信安全提醒怎么办,你的微信账号通过ipad副设备发表失败...
- 泰勒公式--泰勒多项展开以及应用
- win10计算机运行在哪里,Win10运行在哪(开始、快捷键、所有应用)
- CMNET和CMWAP
- css3 text-overflow制作固定区域的博客列表
- 哪些行业和岗位的人适合考PMP?
热门文章
- SAP Spartacus autofocus directive,如何锁住使用了directive的元素本身?
- SAP Spartacus split view控制同屏显示最大视图数的配置
- SAP Hybris Commerce,CRM和C4C的登录语言选择
- SAP CRM文本配置里的Continue标签,到底控制了什么行为
- Hybris commerce里用web service为什么查询不到产品的描述信息
- CL_CRM_REPORT_QUESTION call CRM_REPORT_RF_CHECK_AUTHORITY
- Fiori Fundamentals和SAP UI5 Web Components
- 关于Tomcat如何处理Open Redirect的问题
- SAP CRM Business partner API里的buffer设计
- java中活锁和死锁的区别_死锁、活锁、饿死和阻塞的个人理解