zoukankan      html  css  js  c++  java
  • 〖Linux〗使用命令行切换触摸板的状态on/off/toggle

    最近发现在Ubuntu13.10中使用Fn+F9对触摸板的控制操作不灵了;

    并且在黑夜、外置键盘时,按下这个组合键也很不方便,由此便想到使用命令行来切换触摸板状态;

    脚本:~/bin/touchpadctrl

     1 #!/bin/bash - 
     2 #===============================================================================
     3 #
     4 #          FILE: touchpadctrl
     5 # 
     6 #         USAGE: ./touchpadctrl 
     7 # 
     8 #   DESCRIPTION: 
     9 # 
    10 #       OPTIONS: ---
    11 #  REQUIREMENTS: ---
    12 #          BUGS: ---
    13 #         NOTES: ---
    14 #        AUTHOR: linkscue (scue), linkscue@gmail.com
    15 #  ORGANIZATION: 
    16 #       CREATED: 2014年03月09日 12时57分34秒 CST
    17 #      REVISION:  ---
    18 #===============================================================================
    19 
    20 # xinput --list             ==> 获取TouchPad的id号(我的是13)
    21 # xinput --list-props 13    ==> 获取TouchPad的设备状态
    22 # man xinput                ==> 获取xinput的使用方法
    23 on(){
    24     #synclient  TouchpadOff=0
    25     xinput set-prop 13 'Device Enabled' 1
    26     echo -e "e[0;36mtouchpad on.e[0m" # cyan
    27     exit
    28 }
    29 off(){
    30     #synclient TouchpadOff=1
    31     xinput set-prop 13 'Device Enabled' 0
    32     echo -e "e[0;36mtouchpad off.e[0m" # cyan
    33     exit
    34 }
    35 
    36 usage(){
    37     echo -e "e[0;31m==> Usage: $(basename $0) [ON/off/toggle].e[0m" # red
    38     exit
    39 }
    40 
    41 getstate(){
    42     echo $(xinput --list-props 13 | grep Enable | awk -F: '{print $2}')
    43 }
    44 
    45 toggle(){
    46     echo -en "e[0;31m==> toggle: e[0m" # red
    47     case $(getstate) in
    48         "0" ) on
    49             ;;
    50         "1" ) off
    51             ;;
    52     esac
    53 }
    54 
    55 # detect: help
    56 if [[ ${1} != "" ]]; then
    57     case ${1} in
    58         "-h" | "--help" | "-help" )
    59             usage
    60             ;;
    61     esac
    62 fi
    63 
    64 if [[ $# == 0 ]]; then
    65     # auto swtich
    66     if [[ $(lsusb | grep 'Sunplus Innovation Technology') != "" ]]; then
    67         off
    68     else
    69         toggle
    70     fi
    71 else
    72     # manual
    73     case ${1} in
    74         "of"|"off"|"OFF"|"Off") off
    75             ;;
    76         "t"|"toggle"|"T"|"Toggle") toggle
    77             ;;
    78         *) on 
    79             ;;
    80     esac
    81 fi

    使用举例:

      1. touchpadctrl 

        -- 有外置鼠标时,自动off,否则toggle

      2. touchpadctrl on

        -- 启用触摸板

      3. touchpadctrl off

        -- 禁用触摸板

      4. touchpadctrl toggle

        -- 切换触摸板状态

  • 相关阅读:
    雅虎天气接口
    解决activeandroid no such table
    解决Genymotion Error: “Unable to load VirtualBox Engine” on Yosemite. VirtualBox installed
    存金宝 价格提示
    添加 SSH 公钥
    ImportError: No module named flask.ext.wtf 解决方法
    Cannot fetch index base URL https://pypi.python.org/pypi/ 解决方法
    mac下只遍历目录不遍历文件
    dubbo源代码编译打包错误解决
    maven 基本配置
  • 原文地址:https://www.cnblogs.com/scue/p/3633773.html
Copyright © 2011-2022 走看看