使用 libinput 禁用设备

使用 libinput 禁用设备

我想禁用键盘输入设备libinput。类似于:

xinput set-int-prop 1 "Device Enabled" 8 0

其语法如下:

--set-int-prop 设备属性格式值

设置设备的整数属性。适当的格式值为 8、16 或 32,具体取决于属性。已弃用,请使用 --set-prop 代替。

(或类似xinput set-prop)。

我想用它来禁用键盘模拟身份验证加密狗(Yubikey),防止通过虚假触摸“键入”令牌。

也许有一种不涉及libinput这样做的首选方法。我不想完全禁用加密狗,因为它除了通过键盘模拟生成令牌之外还有其他功能(它也是 GPG 智能卡)。

我正在使用 Fedora 26 和 Wayland。

答案1

fwiw,LIBINPUT_IGNORE_DEVICEudev 属性可以分配给应该被忽略的设备。详细文档在这里:

https://wayland.freedesktop.org/libinput/doc/latest/device-configuration-via-udev.html#ignoring-devices

答案2

我不知道有什么方法涉及,但是你可以对Yubikey对应的设备libinput进行独占抓取。/dev/input/event*这在内核输入层上工作,带有ioctl,并阻止任何其他应用程序(例如使用 的 Wayland libinput)处理来自该设备的事件。

通常,任何打算使用 Yubikey 上的功能的程序都应该进行抓取,但您可以使用evtest --grab并选择 Yubikey 来测试它,或者evtest --grab /dev/input/eventX如果您知道该设备或其符号链接。

is ,在 中定义,以防您想从程序中使用它ioctl。也适用于 Python 和其他可以执行此操作的脚本语言。EVIOCGRAB/usr/include/linux/input.hiotctl

相关内容