我在Raspberry Pi上运行Arch Linux ARM。在启动时,启动X应用程序(navit)。
系统启动后,我将其插入其中,并尝试以下python代码:
from evdev import UInput, ecodes
inp = UInput()
inp.write(ecodes.EV_KEY, ecodes.KEY_UP, 1)
inp.write(ecode.EV_KEY, ecodes.KEY_UP, 0)
inp.syn()
问题 - 在启动时启动的应用程序没有收到此按键。
以下可以在ssh会话中运行 - 应用程序接收向上箭头按键。
DISPLAY =:0 xdotool key Up
uinput内核模块已加载,Xorg配置保留默认值(应该启用热插拔设备 - 尽管我无法验证它。)
dmesg显示输入设备已注册:
[28.725976]输入:py-evdev-uinput as / devices / virtual / input / input0
我也通过使用:
验证我开始的应用程序目前是关注的DISPLAY =:0 xdotool getwindowfocus getwindowpid
接下来要调试此问题的任何想法?
答案 0 :(得分:-1)
原来没有加载evdev模块。我虽然加载uinput模块应该足够了,但事实并非如此。
我发现它是通过注意插入外部键盘时代码确实有效。