我想把键盘和鼠标事件从一个小的ARMv7计算机板发送到一个远程的,它没有键盘或鼠标。我计划将这些事件发送到本地实现的CAN总线上。控制板具有作为触摸屏被检测到的触摸屏。对硬件键盘的支持是计划中的,但通常只有一个虚拟键盘。
背景:在多媒体装置中,两个板应结合为主从合奏。运行多媒体平台(通常但不限于科迪)的是从机,没有键盘,没有鼠标;它应该从CAN总线接收输入事件。主板、控制板还连接到小显示器上,当从多媒体板打开时,小显示器发挥键盘和触摸屏的作用。交叉开发工具链是Gentoo Linux。
因此,我想知道向远程主机发送本地键盘和鼠标(touchpad)事件的最简单方法,因为我不是内核开发人员。
例如,我可以使用netcat将本地键盘/鼠标事件(从/dev/input/*)发送到远程计算机,但据我所知,远程计算机上必须有一个键盘和鼠标插接。除非有某种虚拟驱动程序可用,我可以在远程端使用。(这就是说,我试过了,但没有成功。)
例如,我不反对内核输入模块的开发,但如果可能的话,我宁愿组合用户空间应用程序,或者在必要时开发用户空间应用程序。我也更喜欢发送“原始”硬件事件,而不是假设在远程板上运行着像Xorg或Wayland这样的图形引擎。当然,除非气馁。
所以最后我想知道我是否应该
lirc和add可以支持如果有更多的麻烦,我都是开放的。
发布于 2021-09-08 07:40:52
我昨天刚和输入截取工具框架(gitlab.com/拦截器)做了这件事。
安装很容易:
pkgconf)cmake。快速POC:
在源计算机(有键盘的计算机)上:src/interception-tools/build/intercept -g /dev/input/by-id/usb-Logitech_USB_Receiver-if02-event-mouse | nc des.ti.nat.ion 9876
在目标机器上(您希望将事件“传送”到):nc -l -p 9876 | src/interception-tools/build/uinput
如果目标机器没有其他输入源,则可能需要导出特定于键盘的yaml:
uinput -p -d /dev/input/by-id/my-kbd在YAML中打印my-kbd特性,它本身可以作为uinput -c my-kbd.yaml反馈给uinput。
这是在ARM64 64@5.13和and 64@5.10之间的Debian斗牛场。
如果这对您有效,您仍然必须将其集成到您的系统启动文件中,然后它将是自动和无缝的。
https://unix.stackexchange.com/questions/192203
复制相似问题