Linux 禁用/啟用筆記本鍵盤

shell腳本如下:

#!/bin/bash
echo 'xinput list' 
xinput list

if [ ! -n "$1" ]; then
    echo "用法:./disnbkb.sh [id] [switch on/off]"
    echo "  [id] : 參考列表中 id=[id]"
    echo "  [switch on/off] : 1 = switch on, 0 = switch off"
else
    echo "指定筆記本鍵盤id="$1
    keyboardId=$1
fi

if [ ! -n "$2" ]; then
    iswitch=0
else
    iswitch=$2
    if [ $2 -eq 1 ]; then
        echo ":啟用"
    elif [ $2 -eq 0 ]; then
        echo ":禁用"    
    else
        echo ":未知"
    fi
fi

# 有參數(shù)才執(zhí)行,無(wú)參數(shù)只打印列表
if [ -n "$1" ]; then
    xinput set-prop $keyboardId "Device Enabled" $iswitch
fi

上述腳本保存為 didswitch.sh

以Ubuntu為例 ,在終端執(zhí)行 ./didswitch.sh,可打印出外設(shè)列表如下:

~$ ./didswitch.sh
xinput list
? Virtual core pointer                      id=2    [master pointer  (3)]
?   ? Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
?   ? MOSART Semi. 2.4G Keyboard Mouse          id=12   [slave  pointer  (2)]
?   ? SynPS/2 Synaptics TouchPad                id=14   [slave  pointer  (2)]
? Virtual core keyboard                     id=3    [master keyboard (2)]
    ? Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ? Power Button                              id=6    [slave  keyboard (3)]
    ? Video Bus                                 id=7    [slave  keyboard (3)]
    ? Video Bus                                 id=8    [slave  keyboard (3)]
    ? Sleep Button                              id=9    [slave  keyboard (3)]
    ? Integrated Camera: Integrated C           id=10   [slave  keyboard (3)]
    ? ThinkPad Extra Buttons                    id=15   [slave  keyboard (3)]
    ? MOSART Semi. 2.4G Keyboard Mouse          id=16   [slave  keyboard (3)]
    ? MOSART Semi. 2.4G Keyboard Mouse          id=11   [slave  keyboard (3)]
    ? AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
用法:./disnbkb.sh [id] [switch on/off]
  [id] : 參考列表中 id=[id]
  [switch on/off] : 1 = switch on, 0 = switch off

要禁用筆記本自帶鍵盤,從上述列表找到 AT Translated Set 2 keyboard(不同筆記本名稱可能不同),對(duì)應(yīng)id=13

執(zhí)行 ./didswitch.sh 13 0

~$ ./didswitch.sh 13 0
xinput list
? Virtual core pointer                      id=2    [master pointer  (3)]
?   ? Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
?   ? MOSART Semi. 2.4G Keyboard Mouse          id=12   [slave  pointer  (2)]
?   ? SynPS/2 Synaptics TouchPad                id=14   [slave  pointer  (2)]
? Virtual core keyboard                     id=3    [master keyboard (2)]
    ? Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ? Power Button                              id=6    [slave  keyboard (3)]
    ? Video Bus                                 id=7    [slave  keyboard (3)]
    ? Video Bus                                 id=8    [slave  keyboard (3)]
    ? Sleep Button                              id=9    [slave  keyboard (3)]
    ? Integrated Camera: Integrated C           id=10   [slave  keyboard (3)]
    ? ThinkPad Extra Buttons                    id=15   [slave  keyboard (3)]
    ? MOSART Semi. 2.4G Keyboard Mouse          id=16   [slave  keyboard (3)]
    ? MOSART Semi. 2.4G Keyboard Mouse          id=11   [slave  keyboard (3)]
    ? AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
指定筆記本鍵盤id=13
:禁用

執(zhí)行后筆記本自帶的鍵盤就不可用了,外接鍵盤再執(zhí)行一次 ./didswitch.sh 13 1即可恢復(fù)使用。

注意:系統(tǒng)重啟禁用的鍵盤會(huì)恢復(fù)正常,如要永久禁用則需要設(shè)置開機(jī)自動(dòng)運(yùn)行。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 很多本本用戶都遇到這樣的情況,筆記本自帶鍵盤部分按鍵損壞后,我們買了一個(gè)USB鍵盤連接使用,不過由于自帶鍵盤還有一...
    激揚(yáng)文字閱讀 8,802評(píng)論 0 2
  • 有很多同學(xué)會(huì)有給筆記本電腦外接鍵盤的需求, 但是如果直接將外接鍵盤放到內(nèi)置鍵盤上面容易誤觸,小七在這里跟大家分享一...
    tinychen閱讀 775評(píng)論 0 2
  • 表情是什么,我認(rèn)為表情就是表現(xiàn)出來(lái)的情緒。表情可以傳達(dá)很多信息。高興了當(dāng)然就笑了,難過就哭了。兩者是相互影響密不可...
    Persistenc_6aea閱讀 129,823評(píng)論 2 7
  • 16宿命:用概率思維提高你的勝算 以前的我是風(fēng)險(xiǎn)厭惡者,不喜歡去冒險(xiǎn),但是人生放棄了冒險(xiǎn),也就放棄了無(wú)數(shù)的可能。 ...
    yichen大刀閱讀 8,065評(píng)論 0 4

友情鏈接更多精彩內(nèi)容