我正在使用以下代码为我当前插入的键盘打印键码和扫描码:
import evdev
device = evdev.InputDevice('/dev/input/event8')
for event in device.read_loop():
if event.type == evdev.ecodes.EV_KEY:
print((evdev.categorize(event).keycode))
print((evdev.categorize(event).scancode))
目前我有一个德语键盘布局,因为我想要美国以外的东西。当我按下“#”时,我得到以下输出:
KEY_BACKSLASH
43
显然,这是错误的。在美式键盘上,这是正确的。
所以我的问题是:如何在不调用 shell 的情况下为按下的键获取正确的键码/扫描码?