我有第二个 USB 键盘,我想让我的电脑将其识别为游戏手柄,而不仅仅是一个额外的键盘。在 Ubuntu 14.04 上可以实现吗?
我见过一些关于做相反的事情的信息,将游戏手柄当作键盘,但这不是我想要的。
答案1
您可以使用“xinput float”或“xinput --disable”从其他应用程序中禁用键盘,或者在 xorg.conf 中禁用它(关闭自动添加设备并配置您想要的设备)
然后,您可以编写一个应用程序,从浮动键盘或 /dev/input/eventX 读取事件并将游戏手柄事件发送到 /dev/uinput。
新的 uinput 设备通过对 /dev/uinput 的 ioctl 和通过将 uinput_user_dev 结构写入 /dev/uinput 发送的事件来创建。有一个 Python 库可用于此目的:http://tjjr.fi/sw/python-uinput/
可以通过将“xinput test-xi2 number”的输出通过管道传输到 python-uinput 程序来快速证明概念。