我最近一直在研究上网本。我喜欢尽可能连接外部键盘和鼠标,并将键盘放在嵌入式键盘上。
在 X 上时,我使用 xinput 禁用嵌入式键盘,如下所示,以防止覆盖键盘按下嵌入式键盘(或更准确地说,防止这些按下产生效果):
#!/bin/sh
usage(){
: ${SELF:="$(basename "$0")"}
cat <<EOF
Usage:
$SELF
Query state of X device
$SELF 0|1
Set state of X device
$SELF -h|--help
Show this help
EOF
}
[ $# -gt 1 ] && { usage >&2; exit 1; }
acerKbd=$(
xinput --list 2>/dev/null|
xinput --list | sed -n 's/^.*AT Translated Set 2 keyboard.*id=\([0-9]*\).*/\1/ p'
)
queryState(){ xinput list-props "$acerKbd" |grep 'Device Enabled'|cut -d: -f2|tr -d ' \t'; }
setState() { xinput set-int-prop "$acerKbd" 'Device Enabled' 8 "$1"; }
case "$1" in
-h|--help) usage;;
0|1) setState "$1";;
"") queryState;;
*) usage >&2; exit 1;;
esac
xinput
我使用几乎相同的脚本来禁用/启用鼠标(不同的搜索策略 - 我不知道是否有比 regexp matches的输出更好的方法来定位设备)。
但我还没有找到一种方法来完成与此等效的 tty 操作?
有任何想法吗?