上一篇我所提的問題, 有了部份解答, 回文整理一下
我講的瑣碎一點, 大家比較容易發現我的盲點
以後有碰到類似問題的人也可以省下一點時間
搞不好, 最常跑來回顧細節的, 就是我自己
因為我們會游走在 "kernel 邊緣" (我現在是 5.10.28)
所以我們所討論的這些, 基本上 *應該要* 適用所有人
先大致複習一下有點複雜的問題
我有個無線滑鼠直鍵盤, 稱為 空中飛鼠
它身上長了一個電源鍵, 但是按下去會同時
1. 透過 IR LED 關掉電視 2. 透過 USB 關掉筆電
但是我不要它關我筆電...
前情提要: (抄過來)
> 1. 它憑啥關我筆電?甚麼管道?我自己都還要 sudo, 它誰?
> 2. 如何告訴我的系統,不准接受 hid 來的 shutdown 命令
===============================================
我們從第二個問題開始, 再回到第一個問題
===============================================
實務上, 會有不少人碰到類似的問題, 例如
USB 鍵盤右上角長了一顆電源鍵, 因為很接近常用鍵
動不動就會無意間按到, 導致無預警關機, 例如:
https://i.stack.imgur.com/9EgBZ.jpg
也有人用的 USB HID 長的像這樣
https://www.orbsmart.de/wp-content/uploads/2018/09/orbsmart-WA-1_1-1.jpg
這比較像我這支所謂的 "空中飛鼠", 大概因為它有陀螺儀,
可以像玩 Wii 那樣在空中揮舞, 就帶動螢幕上的鼠標
https://i.imgur.com/7mJwOoi.jpg
另外, 要是有一天, 你突然發現機器是關機狀態,
不要排除是你家的貓, 這時也會想要 disable 那個鍵
或是, 有時會需要把 sleep/suspend/hibernate 鍵停用
https://i.stack.imgur.com/524Oj.jpg
最簡單的方法就是修改 /etc/systemd/logind.conf
把 HandlePowerKey=poweroff 改為 =ignore
或是把 HandleLidSwitch 改為 =ignore
(...)
(至於 /etc/acpi/.... 我到現在還是一頭霧水,
這中間大概也夾雜了一些過渡性的 kernel 問題
還有我的筆電硬體特別的狀況... 所以不想再去想了)
這是 Bencrie 一開始就想到的, 但是他也沒忘記有個前提
就是 *如果你用 systemd 的話*, 換句話說,
並不是所有人, 所有系統, 都可以從這邊著手
而且改 logind.conf 的話, 只能讓所有的電源鍵都失效.
因為它在很上層, 應該無法分辨 interrupt 是來自哪個電源鍵.
我的情形是, 最好只停用 "空中飛鼠" 的電源鍵 (不含 IR LED),
保留筆電上面電源鍵的功能.
我所能找到的是:
方法一, Vojtech Pavlik 寫的 evtest(1) 是個好朋友.
**************************************************
(不是 xev(1), xinput(1), showkey(1)... 等, 選對工具是關鍵)
$ sudo apt-get install evtest
$ sudo evtest