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 --grabYubikeyを使用して選択してテストできます。または、evtest --grab /dev/input/eventXデバイスまたはそのシンボリックリンクを知っている場合でも可能です。

is、プログラムで使用したい場合に定義されますioctl。また、これを実行できるPythonやその他のスクリプト言語でも機能します。EVIOCGRAB/usr/include/linux/input.hiotctl

関連情報