ワイヤレスポータブルリモコン(Dupad G20S Pro Plus)と通信するUSBデバイスがあります。私のDebianボックスではうまくいきます。私が解決しようとしている問題は、リモコンの電源ボタンでシステムがオフになるのを防ぐことです(私の考えでは、リモコンがスマートテレビに適しているようです)。
私は少なくともlsusbを介して問題のデバイス機能が次のようになることを見つけました。
% lsusb -vd 4842:0001
...
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 2
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 3 Human Interface Device
bInterfaceSubClass 0
bInterfaceProtocol 1 Keyboard
iInterface 0
HID Device Descriptor:
bLength 9
bDescriptorType 33
bcdHID 2.01
bCountryCode 0 Not supported
bNumDescriptors 1
bDescriptorType 34 Report
wDescriptorLength 121
Report Descriptor: (length is 121)
...
Item(Local ): Usage, data= [ 0x81 ] 129
System Power Down
...
一部のカーネルレベルでこの機能を回避する方法はありますか?私はsystemd-inhibitを使用して一般的なシャットダウンを防ぐことができましたが、低レベル(udevなど)を使用することを好みました。
修正する:
これはDebianサーバー用です(デスクトップではありません)。ホームオートメーション目的で主なイベントがキャプチャされています。
ベストアンサー1
(システムベースのLinuxホストの場合)ソリューションの手がかりは次のとおりです。人々 login.conf(8)。
"power-switch" udevタグ付きの入力デバイスのみがキー/キャップスイッチイベントに対して監視されます。
実際、このラベルを作成した人はデフォルトのudevルール:
SUBSYSTEM=="input", KERNEL=="event*", ENV{ID_INPUT_KEY}=="1", TAG+="power-switch"
このファイル(/etc/udev/rules.d/70-power-switch.rules)の規則に注釈を付けてこれを防ぐことができました。
追加情報:
私の最初の修正の試みは、新しいファイルからこの新しいルールを使用してタグを削除することでした/etc/udev/rules.d/80-power-switch.rules
(後処理で70-power-switch.rules
)。
SUBSYSTEM=="input", KERNEL=="event*", TAG-="power-switch"
私のバージョンのsystemdはタグの削除(249)をサポートしていますが、動作させることはできません。私の推測は、systemdが元のタグに関する警告を受け取り、タグの削除をサポートしていないことです。