当python程序不是';t在前景中?

当python程序不是';t在前景中?,python,keyboard,background,keylogger,Python,Keyboard,Background,Keylogger,我正试图在下个月分析我的击键行为,我想用一个简单的程序来实现这一点。我不想准确地记录命令,只想在按键时生成一般统计信息 我最喜欢用python编写这种代码,但我愿意接受其他建议。这可能吗?如果可能,我应该看哪些python模块?这已经完成了吗 我在OSX上,但也有兴趣在Ubuntu box和Windows XP上这样做。根据您想要收集的统计数据,也许您不必自己编写;该程序通过监视键盘和鼠标的活动来提醒您小憩片刻。它保存您可能会使用的此活动的统计信息(除非您需要非常详细/更具体的统计信息)。在最坏

我正试图在下个月分析我的击键行为,我想用一个简单的程序来实现这一点。我不想准确地记录命令,只想在按键时生成一般统计信息

我最喜欢用python编写这种代码,但我愿意接受其他建议。这可能吗?如果可能,我应该看哪些python模块?这已经完成了吗


我在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中受益。我写了不少程序,但我的论文是,当你考虑到我的电子邮件写作时,我仍然会有一个固定的英文版本,所以发帖等看起来很有趣。所以我应该记录我的密钥流然后粘贴到那里?我来试一试,谢谢。