小编JJ *_*ams的帖子

使用具有特定键盘布局的 Evdev 将键码解析为扫描码

我正在使用以下代码为我当前插入的键盘打印键码和扫描码:

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))
Run Code Online (Sandbox Code Playgroud)

目前我有一个德语键盘布局,因为我想要别的东西而不是美国。当我按“#”时,我得到以下输出:
KEY_BACKSLASH
43
显然,这是错误的。在美式键盘上,这是正确的。

所以我的问题是:如何在不调用 shell 的情况下获得正确的键码/扫描码?

python linux keyboard evdev

5
推荐指数
0
解决办法
284
查看次数

标签 统计

evdev ×1

keyboard ×1

linux ×1

python ×1