当python程序不是';t在前景中?
我正试图在下个月分析我的击键行为,我想用一个简单的程序来实现这一点。我不想准确地记录命令,只想在按键时生成一般统计信息 我最喜欢用python编写这种代码,但我愿意接受其他建议。这可能吗?如果可能,我应该看哪些python模块?这已经完成了吗当python程序不是';t在前景中?,python,keyboard,background,keylogger,Python,Keyboard,Background,Keylogger,我正试图在下个月分析我的击键行为,我想用一个简单的程序来实现这一点。我不想准确地记录命令,只想在按键时生成一般统计信息 我最喜欢用python编写这种代码,但我愿意接受其他建议。这可能吗?如果可能,我应该看哪些python模块?这已经完成了吗 我在OSX上,但也有兴趣在Ubuntu box和Windows XP上这样做。根据您想要收集的统计数据,也许您不必自己编写;该程序通过监视键盘和鼠标的活动来提醒您小憩片刻。它保存您可能会使用的此活动的统计信息(除非您需要非常详细/更具体的统计信息)。在最坏
我在OSX上,但也有兴趣在Ubuntu box和Windows XP上这样做。根据您想要收集的统计数据,也许您不必自己编写;该程序通过监视键盘和鼠标的活动来提醒您小憩片刻。它保存您可能会使用的此活动的统计信息(除非您需要非常详细/更具体的统计信息)。在最坏的情况下,您可以查看源代码(C++)以了解它是如何完成的。除非您计划自己编写接口,否则您将需要一些库,因为正如其他海报所指出的,您需要访问由桌面环境管理的低级按键事件 在Windows上,库将为您提供所需的功能 在Linux上,您可以使用(假设您正在运行图形桌面) 这两种方法都能很好地使用。您最好下载源代码(参见例如pyxhook.py),以查看如何捕获按键事件的具体示例。将此项修改为对密钥分布求和而不是记录排序应该很简单。看起来您需要 这个方便的程序将分析一块文本,告诉你你的手指需要走多远才能打字,然后推荐你的最佳布局 为了回答您最初的问题,在Linux上,您可以从/dev/event*读取本地键盘、鼠标和操纵杆事件。例如,我相信您可以简单地
cat/dev/event0>键盘记录程序。这些事件是struct input\u event
的实例。另见
Python的模块是解析二进制数据的方便方法
对于OSX,请查看logkext的源代码 由于当前X服务器的记录扩展似乎已被破坏,因此在Linux上使用pykeylogger
并没有真正的帮助。请看一下它的演示功能。解决方案更糟糕,但至少起作用了
归根结底就是在设备上设置一个挂钩
import evdev
keyboard_location = '/dev/input/event1' # get the correct one from HAL or so
keyboard_device = evdev.Device(keyboard_location)
然后,定期轮询设备以获取密钥和其他信息的状态:
keyboard_device.poll()
你已经检查过pykeylogger了吗?我尝试过使用它,发现它需要很多我安装时没有的库。下载所需的库有什么问题吗?你在运行Windows吗?很多网站会用键盘记录程序感染你的机器。你试过关闭杀毒软件吗?我希望你是在开玩笑:)我想收集我打字的一般统计数据,特别是不要记录所有内容,因为我肯定会键入密码。有趣的是,我会检查一下。我基本上想知道,当我切换到dvorak时,我是否真的得到了一些好处。呃,改变键盘布局会如何影响你键入的键或键入它们的频率?我想确保我键入的键遵循一般的英语分布,以便我能从dvorak中受益。我写了不少程序,但我的论文是,当你考虑到我的电子邮件写作时,我仍然会有一个固定的英文版本,所以发帖等看起来很有趣。所以我应该记录我的密钥流然后粘贴到那里?我来试一试,谢谢。