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

最近在小米笔记本上安装了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的方式,希望有大神出现指教一二。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值