【作者: 0han】
首先推荐一个机械键盘品牌"WASD"(链接), 所有的机械轴都是cherry原厂的,他支持用户自定义每个键帽的颜色,先展示一张配色:
这一张应该能看出我有加强“程序员”元素,对于一些编程中常用的Key的颜色和别的键位做了区分,比如F12的开发者模式启动,“Esc”退出和“Enter”运行两个特殊色的对应,“shift”,“ctrl”,因为我主要写python,最近在学java,应该考虑把“;”键也变色哈哈。官网上有很多种产品,甚至有专门为程序员设计的“WASD-CODE键盘”,但那个只是基于大部分程序员的产品,也没有考虑到大家IDE的不同situation,而且没有颜色的自定义化。 然而我作为消费者,我会选择一个可以自己设计的独一无二的键盘,这也许就是你能用一生的键盘。在定制键盘时,先考虑功能在考虑美观,fashion flow functions. 功能在第一位是我一贯坚持的。(当然那种只会玩游戏,看到DIY颜色键盘就把wasd四个键挑出来配色的low咖别看下去了谢谢)。基于“给键盘配色”这个目标,我便有了一个项目想法,用python脚本收集我平时编程时的打字习惯。
作为程序员,你肯定知道自己平时使用的那些语言要经常敲什么键,所以这个脚本的结果应该只作为一个参考,大概的思路就是编程前(因为买键盘就是为了敲代码)运行这个脚本,脚本自动收集输入的每个键的数据,例如我敲下了一个“F”,脚本便给原来设定F=0赋值+1,以此类推,编程结束后退出脚本,脚本用pickle库记录本次的数据,生成dump文件。下一次编程时调用这个文件,继续做同样的按键记录。(作为数据分析,希望基于一定的编程项目后,数据比较客观,平均)根据每个键值的输入频率,便可以在定义键盘颜色时做出参考,当然可以根据自己的喜好,审美对颜色做调整。当然记录键盘输入并不是只能用于这种指向性太明显的目的,你也可以用来做盗号木马一类的,不过电脑上微信登陆都是扫码了哈哈
项目名称: 分析编程时键盘每个键输入的频率并基于样本数据做分析,统计出编程时常用的键。
计划:使用PyHook库和pickle库实现数据的抓取和储存 使用muyiply实现数据的分析
这个计划是可行的,官方手册给出了很详细的说明,各位只要谷歌”PyHook 键盘”就能看到很多几乎一样的代码,但是问题是貌似这个pyhook要搭配pythoncom使用,而我找了全网也没弄清怎么搞定那个pythoncom,而且那个好像是python 2.7的东西,学了3.5就懒得搞over 2了
PyHook是一个基于Python的“钩子”库,主要用于监听当前电脑上鼠标和键盘的事件。这个库依赖于另一个Python库PyWin32,如同名字所显示的,PyWin32只能运行在Windows平台,所以PyHook也只能运行在Windows平台。
先给出一个python2.7的检测键盘代码,当伪代码看就好 因为我不熟悉2.7。这只是简单的将键盘事件输出到屏幕,对于实现每个键的敲击频率统计,可以考虑先创建实例,例如:
a=0
b=0
在函数中使用if...elif对每个键做int 0上的i++
所以确实这种方案很难实现(对于我这个喜欢用3的人,会python2的py可以自己试下)。 然后我在一个很火的知乎答案哪些 Python 库让你相见恨晚?搜“键盘”也没有很好用的库,只有怎么模拟键盘输入的。目前有一个应该可以监听键盘事件的库,却有可能受到其自身框架的影响:
Pygame