安裝這些軟件包
sudo apt-get install -y numlockx xdotool x11-utils
然後用這樣的腳本
#!/bin/bash
cd
numlockx off &
rm -f s1.sh s2.sh out
echo -e "#\041/bin/bash
sleep 2
xdotool key KP_5 | xev > out
exit 0" >> s1.sh
chmod +x s1.sh
echo -e "#\041/bin/bash
sleep 9
killall -9 xev
sleep 5
xdotool key BackSpace
exit 0" >> s2.sh
chmod +x s2.sh
bash s1.sh &
bash s2.sh
rm -f s1.sh s2.sh
if [[ "$(cat out | grep "keycode 84" | grep "KP_Begin")" != "" ]]; then
echo "Separated Numpad Detected!"
fi
rm out
exit 0
因爲KP_Begin
是數字鍵盤鍵的鍵代碼KP_5
時NumLock鍵不活躍,在一個真正的鍵盤採用了真正的鍵盤。 在3臺PC上測試,其中一臺帶有單獨的鍵盤e 2,沒有它。
來源
2012-10-06 22:49:45
Alz
實際上,你可以設定NumLock鍵的狀態(見這裏的第三個答案:http://stackoverflow.com/a/938455/159145)。我認爲(儘管未經測試),您可以嘗試將Numlock設置爲「開啓」,然後檢測是否仍然開啓 - 當然,如果鍵盤缺少數字鎖定鍵,然後檢查它是否會顯示狀態爲關閉狀態? – Dai
不確定是否必須有一個密鑰甚至是一個數字鍵盤才能通過通用api啓用密鑰? –
是的,我可能是錯的,因爲遠程桌面使用numlock鍵搞笑,讓我覺得這不起作用。 – Dai