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)行。