我在没有连接键盘或鼠标的专用 HTPC 上运行 Debian。
大多数用户会使用 LIRC 和红外接收器来控制系统,但我的远程控制很先进,可以直接向我的网络发送 TCP/UDP 命令。
有没有办法在系统上模拟键盘(和鼠标)并接受来自 TCP/UDP 服务器的命令?例如,如果 TCP 端口 8888 接收到“a”,那么我希望将击键“a”发送到控制台上任何正在运行的进程。
我已经搜索了解决方案,看起来 xdotool 可用于 X11 注入,或者我可以编写一个 uinput 驱动程序?
我希望 LIRC (或其他东西)可以安装并作为 TCP 服务器运行,向 uninput 注入命令,但我不确定这是否可能或会做我需要的事情?
答案1
evemu
应该能够做到这一点。您可以使用(使用适当的描述符,您可以从真实的事件设备复制该描述符)设置虚拟事件源evemu-device
,然后使用注入事件evemu-event
。这可以合成任何输入事件,包括击键和鼠标移动。