0

我在 Raspberry Pi 上运行 Arch Linux ARM。在启动时,一个 X 应用程序被启动 (navit)。

系统启动后,我 ssh 进入它,并尝试以下 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 键向上

uinput 内核模块已加载,Xorg 配置保留为默认值(应该启用热插拔设备 - 虽然我无法验证它)。

dmesg 显示输入设备已注册:

[28.725976]输入:py-evdev-uinput作为/devices/virtual/input/input0

我还通过以下方式验证了我启动的应用程序当前的重点:

DISPLAY=:0 xdotool getwindowfocus getwindowpid

有什么想法可以在旁边查看以调试此问题吗?

4

1 回答 1

-1

原来 evdev 模块没有加载。我虽然加载 uinput 模块就足够了,但事实并非如此。

我注意到插入外部键盘时代码确实有效,从而发现了这一点。

于 2013-05-30T20:46:43.257 回答