zcc*_*ing 7 linux keyboard hook input
我正在用C编写一个Linux程序,我需要拦截某些键盘敲击.
使用输入子系统(读/写/ dev/input/eventX),我可以接收键盘敲击(使用"读取"功能)或模拟键盘敲击(使用"写入"功能).
当使用"读取"功能时,我可以捕获用户键盘敲击,但是这个事件被传播,我不知道如何使用它.
thk*_*ala 5
默认情况下,输入事件将传输到所有侦听应用程序和驱动程序.但是,有一个应用程序可以通过evdev接口抓取设备- 看一下EVIOCGRAB ioctl().这只会允许该特定应用程序从该特定设备接收事件.
evdev
EVIOCGRAB
ioctl()
这种方法的问题在于,您实际上无法阻止特定事件在收到后传播- 您只能事先获取设备,然后捕获所有事件.因此,如果要筛选输入事件,则必须使用变通方法.
我在自己的evmapd守护进程中使用的解决方法包括抓取原始设备并使用uinput子系统为另一台设备提供我需要的所有修改,包括重新映射的密钥和各种其他更改......
evmapd
uinput
归档时间:
13 年,4 月 前
查看次数:
3577 次
最近记录:
12 年 前