问题描述:

Ubutnu对笔记本的键盘驱动,尤其是功能键的驱动支持不是很好,我的笔记本是Toshiba Satellite P75A,电脑是14年的新品,即使刚刚发布的最新Ubuntu桌面系统都没有对应的驱动,无奈,只好动手自己做个快捷键控制触摸板,谁让咱选择了Linux呢。

脚本代码:

解决方案就是使用Python脚本,实现自动获取当前触摸板启动状态,并做出对应的反应。

上源码:

#!/usr/bin/env python

import os

def check_touchpad_state(dev_num):

dev_state = os.popen('xinput list-props  %s' % str(dev_num))

for lines in dev_state.readlines():

if 'Device Enabled' in lines:

sig = lines[-3:-1].strip()

signal = int(sig)

print ('signal now :%d' % signal)

return signal

def get_dev_num(dev_name = 'SynPS/2 Synaptics TouchPad'):

dev_state = os.popen('xinput list')

for lines in dev_state.readlines():

if dev_name in lines:

print (lines)

station = lines.find('id=')

dev_num = lines[station + 3: station+5]

dev_num = int(dev_num)

print ('dev_num: %d' % dev_num)

return dev_num

dev_state.close()

def change_state(state_value, dev_num):

print ('state_value = ', state_value)

state = not state_value

if state == True:

state = 1

#else:

#state = 0

#print ('state = ', state, str(state))

tem = os.popen("xinput set-prop %s 'Device Enabled' %s" % (str(dev_num), str(state)))

tem.close()

def main():

dev_num = get_dev_num()

state = check_touchpad_state(dev_num)

change_state(state, dev_num)

if __name__ == '__main__':

main()

源码解释:

popen获取linux命令输出:

xinput list-props

根据输出判断触摸板状态,1则改为0,0则改为1。

快捷键定义:

chmod +x 给自己的python脚本加可执行权限,ln -s 做软链到/usr/local/bin中,然后:

打开系统设置,在键盘-快捷键自定义中添加快捷键,其中执行命令便为我们自己写的可执行脚本,此处不详解。

linux用命令开触摸板,Ubuntu 14.04快捷键控制笔记本触摸板的开启与关闭相关推荐

  1. ubuntu14.04快捷键控制笔记本触摸板的开启与关闭

    问题描述: ubutnu对笔记本的键盘驱动,尤其是功能键的驱动支持不是很好,我的笔记本是Toshiba Satellite P75A,电脑是14年的新品,即使刚刚发布的最新Ubuntu桌面系统都没有对 ...

  2. linux命令行安装libxml,Ubuntu 14.04下libxml2的安装和使用

    Ubuntu 14.04下libxml2库的安装方法: sudo apt-get install libxml2 sudo apt-get install libxml2-dev 利用以上命令安装完软 ...

  3. linux服务器有必要开zram吗,ubuntu 14.04 使用zram

    众所周知,现代计算机的瓶颈在于硬盘,而Linux系统在设计时,为了高负载下的安全性而牺牲性能,使用了虚拟内存swap作为权宜之计,不至于系统缺乏可用内存而崩溃,结果可想而知,就是一旦swap到硬盘就会 ...

  4. linux升级内核后反复重启,Ubuntu 14.04 升级内核后重启开机黑屏解决

    今天工作的时候SoftWare Updater提示有软件更新,勾选了一些软件包之后让它在后台自己更新不管了.后来晚上重启了下再进入Ubuntu 14.04的时候一启动图形界面就黑屏了  ,很是着急,以 ...

  5. linux 爬虫工具,技术|如何在Ubuntu 14.04 LTS安装网络爬虫工具:Scrapy

    这是一款提取网站数据的开源工具.Scrapy框架用Python开发而成,它使抓取工作又快又简单,且可扩展.我们已经在virtual box中创建一台虚拟机(VM)并且在上面安装了Ubuntu 14.0 ...

  6. linux 关掉蓝牙自动,如何在Ubuntu 14.04中默认关闭蓝牙,蓝牙

    如何在Ubuntu 14.04中默认关闭蓝牙,蓝牙 如何在Ubuntu 14.04中默认关闭蓝牙 我最近新买了一台Dell Inspiron 7437,我第一时间做的一些事情之一就是让预装的Windo ...

  7. linux能运行安卓模拟器吗,Ubuntu 14.04中使用模拟器运行Android系统

    1.前言 本文重点说明编译好Android源码之后,如果没有相应的开发板,在Ubuntu 14.04中我们应用如何通过模拟器来运行所编译的Android系统. 2.编译选择 若选择mini_x86_u ...

  8. oracle安装搜狗输入法教程,Linux入门学习教程:在Ubuntu 14.04中安装使用搜狗拼音输入法...

    然后,访问搜狗输入法Linux版的官网,http://pinyin.sogou.com/linux,下载搜狗输入法Linux版.从官网可以看到,该输入法官方只支持Ubuntu(不过网上有人通过将deb ...

  9. linux安装深度播放器,分享|Ubuntu 14.04 用户如何安装深度音乐播放器和百度音乐插件...

    播放本地音乐或者收听国外的音乐电台,Ubuntu 14.04 自带的音乐播放器 Rhythmbox 完全能够满足,但是如果你想有像酷狗那样的国内播放器就需要折腾一下,还好有深度音乐播放器,这是一款完全 ...

最新文章

  1. box-sizing 属性
  2. 看看阿里是如何做软件集成发布的
  3. C# 程序打包成安装项目
  4. zabbix服务器性能监控工具的安装二
  5. OpenCV相机校准camera calibration的实例(附完整代码)
  6. 对网络数据包进行嗅探
  7. 2016大数据发展7大趋势
  8. python expect模块_Python尚学堂高淇|第二季0408P119P123with上常见的异常的解决tryexcept...else结构,...
  9. ROS在类中发布和接受消息(自定义消息)
  10. django 1.8 官方文档翻译: 3-5-1 使用Django输出CSV
  11. 图卷积神经网络入门详解
  12. P2P网络借贷系统-核心功能-用户投标-业务解说
  13. linux如何搭建sftp服务器
  14. 六轴传感器+卡尔曼滤波+一阶低通滤波
  15. 夜光带你走进Jquery(十三)擅长的领域
  16. Java程序员掉发系列——程序员的成长之路
  17. python PIL库中的getpixel函数
  18. 0017-正方体的表面积和体积
  19. 北言奥鹏计算机基础其末试卷答题,北理工大学《汽车维修质量检验》期末试卷...
  20. ORA-600/ORA-7445/ORA-700 Error Look-up Tool的使用方法

热门文章

  1. 适配器模式(类适配器,对象适配器,接口适配器)
  2. c4dr17语言,(全部更新完毕)(鱼鱼老师中文字幕)C4DR17全面基础教程
  3. (十四、SchoolAdmin 模块实现)莞工校招助手【微服务应用】
  4. boosting股票量化分析算法
  5. android 8.1 截屏,Android8.1 MTK平台 截屏功能分析
  6. 设计模式-创建者模式
  7. [软件下载]WinPcap 4_0_2
  8. 什么是有线电视系统?有线电视系统的组成部分是什么?
  9. Linux小白向 每日学习之网络管理
  10. 微信小程序,wx.getLocation()和wx.openLocation() 配合使用进行微信定位功能