最近在小米笔记本上安装了Ubuntu18.04.1,发现“飞行模式(和F9同键)”,“触摸板启停(Fn+Space)”,“截图(和F7同键)”三个特殊键不能用。

查询特殊建keycode

查阅资料后发现xev、showkey、xbindkeys等命令可以查看每个键的keycode,acpi_listen可以查询预置的触发事件。

通过以下命令测试后

xbindkeys -k # 分别查询不能用的三个特殊建,只识别了“飞行模式”键,keycode为255,其他两个键不能识别

xev # 分别查询不能用的三个特殊建,三个键都不能识别

showkey -k # 分别查询不能用的三个特殊建,三个键都不能识别

acpi_listen # 分别查询不能用的三个特殊建,三个键都不能识别

dmesg命令可以看到硬件的检测或者断开连接的信息。所以继续测试没有查询到keycode的“触摸板启停”,“截图”键。按下“触摸板启停”键后,有如下信息提示,按下“截图”键后没有任何提示。

May 21 11:18:59 localhost kernel: atkbd.c: Unknown key pressed (translated set 2, code 0xf1 on isa0060/serio0).

May 21 11:18:59 localhost kernel: atkbd.c: Use 'setkeycodes e071 ' to make it known.

按照提示信息,使用setkeycodes重新设置键值,code 0xf1转换成十进制为241,命令如下:

sudo setkeycodes e071 241

重新设置键值后,通过xbindkeys -k查询键值为249。

注意:重新设置键值后,重启电脑会失效,所以需要将sudo setkeycodes e071 241加入开机启动。方法请参考如下链接:ubuntu-18-04-rc-local-systemd设置

编写绑定脚本

至此,我们已经获取了“飞行模式(和F9同键)”,“触摸板启停(Fn+Space)”这两个键的键值,分别为255和249。然后编写绑定脚本,保存在/opt目录下,并赋予执行权限,如下:

Synaptics.sh

# 启停触摸板:

# ----------------------------------

#!/bin/bash

s=$(xinput|grep Synaptics) # 获取触摸板信息

id=$(echo ${s:50:2}) # 获取触摸板id

output=$(xinput list-props $id) # 获取触摸板详细信息

if [[ "$output" =~ Device.Enabled.\(142\):.1 ]] # 判断Device Enabled (142)为1

then

xinput disable $id # 禁用触摸板

else

xinput enable $id # 启用触摸板

fi

airplane.py

# 飞行模式:

# -----------------------------------

# coding=utf-8

import os

airplane = os.popen('rfkill list').read() # 获取蓝牙、无线软硬开关信息

airplane = airplane.replace('\t','').split('\n') # 将信息存储在列表中

if airplane[1] == 'Soft blocked: no' or airplane[4] == 'Soft blocked: no': # 判断蓝牙或无线是否软关闭

os.popen('rfkill block all') # 飞行模式打开

else:

os.popen('rfkill unblock all') # 关闭飞行模式

配置绑定文件

新建绑定配置文件,如果没有安装xbindkeys,请执行sudo apt install xbindkeys

xbindkeys --defaults > $HOME/.xbindkeysrc

配置文件.xbindkeysrc中添加如下内容:

"python3 /opt/airplane.py"

m:0x0 + c:255

"/opt/Synaptics.sh"

m:0x0 + c:249

然后重启电脑,“飞行模式(和F9同键)”,“触摸板启停(Fn+Space)”这两个键已经可以正常使用了。可惜,作者到写这篇文章前,还没有找到获取“截图”键keycode的方式,希望有大神出现指教一二。

小米游戏本 linux 编程键,小米笔记本安装Ubuntu后特殊键终于可用了相关推荐

  1. 笔记本安装ubuntu后触控板失灵

    文章目录 很奇妙查看history的时候有以下操作: 114 sudo modprobe -r psmouse 115 sudo modprobe psmouse proto=imps 116 sud ...

  2. [已解决]笔记本安装ubuntu后不能识别无线网卡

    症状: 刚在windows7电脑上装完ubuntu(做双系统).进入ubuntu通过ifconfig命令看不到wlan网卡,只有以太网卡和loopback口 解决: 1.检查无线网卡类型:lspci  ...

  3. Ubuntu18.04 小米游戏本最早一代 双硬盘 安装 过程记录

    Ubuntu18.04 小米游戏本最早一代 双硬盘 安装 过程记录.踩了很多坑,折腾了无数次,总结一下,方便日后查阅. UEFI+GPT 新买了一个1T的西数SN550,779元.疫情期间,价格大涨, ...

  4. 设置中文linux输入ubuntu,Linux_ubuntu怎么设置成中文?ubuntu中文设置图文方法,  很多朋友安装ubuntu后,发 - phpStudy...

    ubuntu怎么设置成中文?ubuntu中文设置图文方法 很多朋友安装ubuntu后,发现都是英文,看不懂要怎么办?其实ubuntu是可以设置成中文的,下文小编就为大家带来ubuntu中文的设置方法, ...

  5. 非uefi模式安装linux,UEFI启动模式下安装Ubuntu 16.04教程

    前言 最近常帮人安装Ubuntu,也算积累了一些经验.这篇博文主要谈一谈如何在UEFI启动模式下正确安装Ubuntu 16.04,以形成Windows 10和Ubuntu 16.04的双系统. 随着U ...

  6. 笔记本安装Ubuntu 无法使用 Broadcom(博通) 无线网卡实现wifi上网的解决方法

    笔记本安装Ubuntu 无法使用 Broadcom(博通) 无线网卡实现wifi上网的解决方法 参考文章: (1)笔记本安装Ubuntu 无法使用 Broadcom(博通) 无线网卡实现wifi上网的 ...

  7. Linux上的中文输入法安装(Ubuntu + Kali五笔拼音)

    Linux上的中文输入法安装Ubuntu + Kali五笔拼音 1.输入法框架 2.输入法 3.操作系统 4.使用体验 5.安装输入法 6.输入配置 1.输入法框架 在Linux上,常见的输入法框架有 ...

  8. 1050显卡装linux卡住,安装 Ubuntu 后卡死的问题

    安装 Ubuntu 后,因为系统集成的显卡驱动和 NVIDIA 显卡不兼容,导致装完系统重启的时候卡死,这时候只能强制关机重启. Ubuntu系统集成的显卡驱动程序是 nouveau,我们需要先将no ...

  9. 笔记本安装Ubuntu 22.04系统后关闭盖子无法唤醒处理

    笔记本安装Ubuntu 22.04系统后关闭盖子无法唤醒 在软件界面,打开"优化"窗口 将"笔记本电脑盖子关闭时挂起"关闭

最新文章

  1. SharePoint 2010 自定义日志
  2. python怎么安装pandas模块-如何在Python 3中安装pandas包和使用数据结构
  3. 选项卡示例代码###
  4. Pandas入门1(DataFrame+Series读写/Index+Select+Assign)
  5. 深入理解 Cilium 的 eBPF(XDP)收发包路径:数据包在Linux网络协议栈中的路径
  6. 算不算被虚度的这几年
  7. Linux Centos date使用心得
  8. Java从入门到入土
  9. 参数检验与【非参数检验】及Python/SPSS/R/Stata实现
  10. excel自动合并两列
  11. 汽车模具转角分型面做法
  12. matlab计算潮差程序,t_tide潮汐潮流调和分析工具包教程
  13. winrar压缩过滤文件及文件夹
  14. 原创 基于MC3362D的十米波段语音收发机电路图
  15. 转:领导者的三大陷阱:禁不住诱惑、控不住谎言、克制不住恐吓
  16. 无人机服务器通信协议软件设计,无人机飞行管控系统及其数据处理软件设计
  17. 笔记本电池修复常见方法大全
  18. 以不一样的视角看物联网协议
  19. 山东大学软件学院项目实训-创新实训-网络安全靶场实验平台(五)
  20. mysql中的leading用法_登录 - SegmentFault 思否

热门文章

  1. iconv()函数转码
  2. R语言实现双变量分析教程
  3. os-level版本控制工具
  4. 独家揭秘:阿里小程序的一云多端!看这篇就够了!
  5. c语言作用域详解,C语言之作用域
  6. mockito简要教程
  7. Flink的Source端和Sink端大全
  8. 百练4124:海贼王之伟大航路(状压DP)
  9. STM32 串口 FIFO
  10. 如何在多可系统里设置腾讯通RTX参数