使用 libinput 禁用设备

Jus*_*tin 5 fedora yubikey libinput

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

xinput set-int-prop 1 "Device Enabled" 8 0
Run Code Online (Sandbox Code Playgroud)

它遵循以下语法:

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

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

(或喜欢xinput set-prop)。

我想用它来禁用模拟键盘的身份验证加密狗 (Yubikey),无法从虚假触摸中“打出”令牌。

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

我在 Wayland 上使用 Fedora 26。

dir*_*rkt 1

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

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

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