一个Ubuntu下禁用笔记本键盘触摸板的简单脚本

笔记本键盘之前进水了,处理的不及时导致键盘失灵,有时候自己蹦字。原来用windows好解决,直接在驱动列表里指定一个跟笔记本键盘不兼容的驱动然后重启就行了。最近在学习Linux,使用Ubuntu系统,跟windows还是不太一样。之前百度了一下通过xinput输入设备管理工具可以实现禁用键盘:如下

xinput list # 获取输入设备列表

这一步可以找到输入设备的id,其中键盘对应的名称是AT Translated Set 2 Keyboard( 不知道是不是与机型无关 ), 触摸板对应的是ETPS/2 Elantech Touchpad.
然后继续命令行输入

sudo xinput set-prop id> "Device Enabled" 0

或者

sudo xinput disable 

输入sudo密码即可。

最近正好在看shell脚本,于是试着写了一个简单的脚本来省去每次开机之后都要输入以上命令行的麻烦:



#!/bin/bash
# 禁用或启用笔记本键盘和触摸板
DISABLE=$1
if test -z $1
then
    echo "请输入启用或禁用"
    echo "d for disable"
    echo "e for enable"
    return 
fi

kb_id=`xinput list --id-only "AT Translated Set 2 keyboard"`
tp_id=`xinput list --id-only "ETPS/2 Elantech Touchpad"`

disDevice(){
        for id in $1 $2
        do
                sudo xinput disable $id
        done
}
enDevice(){
        for id in $1 $2
        do
                sudo xinput enable $id
        done
}
if test $DISABLE = "d"
then
        echo "禁用"
        disDevice $kb_id $tp_id
elif test $DISABLE = "e"
then
        echo "启用"
        enDevice $kb_id $tp_id
else
        echo "参数不正确,请重新输入"
        return
fi

开机时进入脚本所在目录,执行 sh input-device.sh <参数> 然后输入用户密码即可.或者直接把脚本文件放到主用户目录下,这样只执行sh脚本,又省去一步命令.

你可能感兴趣的:(shell)