How can I get raw USB keyboard data with Python?

懵懂的女人 提交于 2019-12-04 10:01:31

I'm assuming that you are using Linux, as you mentioned the Raspberry Pi. You can use python-evdev to read data from the event devices in /dev/input/.

For example:

from evdev import InputDevice, categorize, ecodes

device = InputDevice("/dev/input/event3") # my keyboard
for event in device.read_loop():
    if event.type == ecodes.EV_KEY:
        print(categorize(event))

Output:

key event at 1462881252.506405, 30 (KEY_A), up
key event at 1462881252.541371, 31 (KEY_S), up
key event at 1462881252.616399, 31 (KEY_S), down
key event at 1462881252.674422, 22 (KEY_U), down
key event at 1462881252.730418, 31 (KEY_S), up
key event at 1462881252.745558, 22 (KEY_U), up
key event at 1462881252.808419, 50 (KEY_M), down
key event at 1462881252.914552, 23 (KEY_I), down
key event at 1462881252.925388, 50 (KEY_M), up
key event at 1462881253.003579, 49 (KEY_N), down
key event at 1462881253.066418, 34 (KEY_G), down
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!