禁用笔记本键盘使用外接键盘
执行效果:执行一次脚本,笔记本键盘和外接键盘二存一
手动执行脚本,需要自动执行请百度使用条件:xinput, 获悉外接键盘名字
步骤
安装
xinput
软件
ubuntu系列的命令sudo apt-get install xinput
centos系统的命令sudo yum install xinput
其他的请百度安装xinput
查找外接键盘名字
插入外接键盘,终端输入
xinput
拔出外接键盘,终端输入xinput
对比多出的部分,就是外接键盘的名字新建脚本
keyboard.sh
,内容如下,需要修改外接键盘的名字为你自己的,然后赋予脚本执行权限chmod +x keyboard.sh
#!/bin/bash
# 笔记本键盘名字
#一般默认是这个,如果不是,请修改
KEYBOARD_DEV='AT Translated Set 2 keyboard'
# 外接键盘名字
#使用xinput获悉外接键盘名字,必须修改成自己的外接键盘名字
USB_KEYBOARD_DEV='SEMICO USB Keyboard'
#关闭设备函数
#使用格式:函数名 关闭设备的名字
function setDisable(){
#获取设备的id值,每行一个id,全部id在一个字符串上
ID_Str=`xinput list | grep "$1" | awk -F 'id=' '{print $2}' | awk '{print $1}' `
#设置分隔符为换行
IFS=$'\n';
#每行一个存进数组中
IDS=($ID_Str)
#遍历ID 设置关闭设备
for elem in ${IDS[@]}
do
xinput --disable $elem
done
}
#开启设备函数
#使用格式:函数名 开启设备的名字
function setEnable(){
#获取设备的id值,每行一个id,全部id在一个字符串上
ID_Str=`xinput list | grep "$1" | awk -F 'id=' '{print $2}' | awk '{print $1}' `
#设置分隔符为换行
IFS=$'\n';
#每行一个存进数组中
IDS=($ID_Str)
#遍历ID 设置开启设备
for elem in ${IDS[@]}
do
xinput --enable $elem
done
}
#usb键盘是否插入,有插入字符串就有内容
EXIST_USB_KEYBOARD=`xinput list | grep "$USB_KEYBOARD_DEV"`
if [ "" != "$EXIST_USB_KEYBOARD" ]
then
#如果外接键盘存在,那就关闭笔记本键盘,并开启外接键盘
setDisable $KEYBOARD_DEV
setEnable $USB_KEYBOARD_DEV
echo "操作成功,愉快地禁用了笔记本键盘"
else
#如果外接键盘不存在,那就开启笔记本键盘,并关闭外接键盘
setDisable $USB_KEYBOARD_DEV
setEnable $KEYBOARD_DEV
echo "操作成功,开启笔记本键盘"
fi
4. 鼠标点击脚本文件就可以执行 `keyboard.sh`脚本文件了