我想禁用键盘输入设备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_DEVICE
udev 属性可以分配给应该被忽略的设备。详细文档在这里:
答案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.h
iotctl