快轉到主要內容

透過libinput指令稿暫時停用Linux鍵盤、觸控板、滑鼠的輸入

分類   Linux系統 Linux使用技巧
標籤   Wayland
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字

Temporarily disable Linux keyboard, touchpad, mouses input with libinput scripts.

暫時停用/禁用Linux的輸入裝置。

考慮以下二種情況:

你將筆電接到外接顯示器,又外接了鍵盤,如何將內部鍵盤停用呢?能不能讓Linux不要收到特定裝置的輸出訊號。

你拿的是兼具觸控螢幕的Linux平板,如何在使用觸控螢幕的時候停用鍵盤輸入防止誤觸?

過去常聽人說用xinput指令攔截,但是那僅限X11環境使用,現在是Wayland的時代了,需要用新的方法做事,那就是「libinput」

現在許多Linux系統都依賴這個玩意來控制輸入裝置,舉凡鍵盤,滑鼠,觸控板,觸控螢幕都是由它負責。

根據 libinput官方文件,只要設定udev規則,傳入LIBINPUT_IGNORE_DEVICE的數值,我們就能達成停用裝置的目的。

不過,手動設定規則停用很麻煩呢,所以我使用Gitlab開發者林博仁製作的指令稿 Linux input device management utilites來開關輸入裝置。

  1. 將指令稿安裝到/usr/local/bin
git clone https://gitlab.com/brlin/linux-input-utils.git
sudo mv linux-input-utils/bin/* /usr/local/bin
  1. 然後我們就可以用這個指令稿列舉Linux上的所有libinput裝置:
sudo enumerate-input-devices
  1. 所有的裝置都以一個數字顯示,像我的平板就顯示了觸控螢幕、觸控板、鍵盤裝置
/sys/class/input/input1:
Goodix Capacitive TouchScreen

/sys/class/input/input5:
HID 1018:1006

/sys/class/input/input10:
HID 1018:1006 Mouse

/sys/class/input/input11:
HID 1018:1006 Touchpad
  1. 要停用鍵盤,就是將數字傳過去:
sudo disable-input-devices 5
  1. 這樣鍵盤就無法打字輸入了!啊…那我要怎麼還原…?幸好我還有觸控螢幕可以輸入!再不濟還有SSH。只要輸入以下指令就可以解除停用:
sudo enable-input-devices 5

相關文章

XWayland Rootful Mode:Wayland跑巢狀X11工作階段視窗
分類   Linux系統 Linux使用技巧
標籤   X Window Wayland
Hyprland設定教學,漂亮又不佔資源的Linux Wayland視窗管理器
分類   Linux系統 Linux使用技巧
標籤   Wayland Hyprland
Weston合成器用法:X11跑巢狀Wayland工作階段
分類   Linux系統 Linux使用技巧
標籤   Wayland X Window

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。