在小米笔记本中安装了Ubuntu 18.04系统后发现飞行模式(和F9同键),触摸板启停(Fn+Space),截图(和F7同键)三个特殊键不能使用,经过摸索,得到了正确的处理方法,使其能够使用上特殊键。不过要声明的是,目前还没有找到获取截图键keycode的方式。

查询特殊建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目录下,并赋予执行权限。

1、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

2、airplane.py如下:

# 飞行模式:

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

# coding=utf-8

import os

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

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

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)这两个键已经可以正常使用了。

附:Ubuntu 18.04 rc.local systemd设置

ubuntu18.04不再使用initd管理系统,改用systemd(Systemd入门教程)。

然而systemd很难用,改变太大,跟之前的完全不同。

使用systemd设置开机启动

为了像以前一样,在/etc/rc.local中设置开机启动程序,需要以下几步:

1、systemd默认读取/etc/systemd/system下的配置文件,该目录下的文件会链接/lib/systemd/system/下的文件。一般系统安装完/lib/systemd/system/下会有rc-local.service文件,即我们需要的配置文件。

链接过来:

ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service

cd /etc/systemd/system/

cat rc-local.service

rc-local.service内容如下:

#  SPDX-License-Identifier: LGPL-2.1+

#

#  This file is part of systemd.

#

#  systemd is free software; you can redistribute it and/or modify it

#  under the terms of the GNU Lesser General Public License as published by

#  the Free Software Foundation; either version 2.1 of the License, or

#  (at your option) any later version.

# This unit gets pulled automatically into multi-user.target by

# systemd-rc-local-generator if /etc/rc.local is executable.

[Unit]

Description=/etc/rc.local Compatibility

Documentation=man:systemd-rc-local-generator(8)

ConditionFileIsExecutable=/etc/rc.local

After=network.target

[Service]

Type=forking

ExecStart=/etc/rc.local start

TimeoutSec=0

RemainAfterExit=yes

GuessMainPID=no

[Install]

WantedBy=multi-user.target

Alias=rc-local.service

1) [Unit] 区块:启动顺序与依赖关系。

2) [Service] 区块:启动行为,如何启动,启动类型。

3) [Install] 区块,定义如何安装这个配置文件,即怎样做到开机启动。

2、创建/etc/rc.local文件:

touch /etc/rc.local

3、赋可执行权限:

chmod 755 /etc/rc.local

4、编辑rc.local,添加需要开机启动的任务:

#!/bin/bash

echo "test rc " > /var/test.log

5、执行reboot重启系统,然后查看test.log。

相关主题

小米笔记本装linux教程视频教程,小米笔记本安装Ubuntu 18.04系统后使用特殊键的方法...相关推荐

  1. xps15u盘装linux,Dell XPS 15 9560 安装 Ubuntu 18.04

    按照这个教程https://github.com/yxrdydh/dell-xps-9560-ubuntu-respin,找一个linux机器或者使用虚拟机制作启动U盘,不然直接制作启动U盘,会卡死在 ...

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

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

  3. 小米笔记本装linux教程视频教程,重新安装系统,小编教你小米笔记本怎么重装win10系统...

    最近,在网上遇到有不少小伙伴使用了小米笔记本Air,莫名其妙的故障,中毒了,遇到这些问题想必超级烦恼,这一大原因就是不知道该怎么去重装win10系统了,其实小米笔记本重装win10的操作超级简单,只是 ...

  4. linux终端界面美化,Ubuntu 18.04系统美化记录:Grub2\主题\登录界面\终端美化

    初装Ubuntu 18.04系统后想美化操作系统,该怎么做?以下为你介绍Ubuntu 18.04美化一体化:Grub2美化.主题美化.登录界面美化.终端美化.以下美化仅是初级介绍,如果需要更多请看Li ...

  5. linux笔记本装载 戴尔,第七代戴尔XPS 13开发版笔记本电脑装载Ubuntu 18.04系统

    据可靠消息称开发Ubuntu桌面工程总监Will Cooke表示旗下Ubuntu 18.04 LTS系统将被装载在第七代戴尔XPS 13开发版笔记本电脑中,该款笔记本电脑起步价为1049.99美元.同 ...

  6. 台式机下成功在windows10的基础上安装Ubuntu 18.04 LTS 系统(详细教程)

    台式机成功在windows10的基础上安装Ubuntu 18.04 LTS 系统 1 前言 因为工作缘故经常需要使用windows和ubuntu两个不同的计算机系统,因此想把实验室的台式机安装成双系统 ...

  7. ThinkPad X1 Carbon 安装Ubuntu 18.04到移动硬盘 教程指南

    ThinkPad X1 Carbon 安装Ubuntu 18.04到移动硬盘 教程指南 安装准备 步骤 下载ubuntu 制作启动盘 关闭Win系统快速启动 设置移动硬盘 设置BIOS 安全启动设置 ...

  8. win10 安装linux 需要多大空间,在Win10 PC上安装Ubuntu 20.04 系统

    在Win10 PC上安装Ubuntu 20.04 系统 本文仅适用于UEFI+GPT类型的PC,有关这方面的知识请自行了解. 引言 为什么需要使用 Linux 系统? 既已看到此文,我相信你一定有需求 ...

  9. rufus linux开机密码,使用Rufus 3.4制作Ubuntu 18.04.1 U盘启动盘的方法

    本文介绍使用Rufus 3.4版本来制作Ubuntu 18.04.1 U盘启动盘的方法,一共需要八个步骤即可完成. 简介 Rufus是一个开源免费的快速制作U盘系统启动盘和格式化USB的实用小工具,它 ...

最新文章

  1. Graph Convolutional Neural Networks for Predicting Drug-Target Interactions
  2. st04 查看数据库日志
  3. Python/word.so: undefined symbol: _ZNK4Word7reverseEv
  4. ORACLE rac集群概念和原理
  5. obs捕获窗口没有窗口_学习工具 | 视频录制软件OBS
  6. (网页)java数组去重总结(转)
  7. Linux 命令(30)—— scp 命令
  8. 限制本机访问某一些网站,本人不再花时间看新闻了
  9. Java toString()方法
  10. oracle11g-RHEL5.8-Kernel Parameters and Resource Limits
  11. 洛谷 U5737 纸条
  12. PhpStorm WebStorm IDEA 官方汉化插件
  13. 一天搞懂深度学习—学习笔记4(knowledge and tricks)
  14. java 银行卡号_java银行卡号判断银行
  15. vnc远程控制软件中文版,4款好用的vnc远程控制软件中文版
  16. 本机查看文件服务器所有共享的文件,谁访问,谁打开,
  17. 怎样避免每次运行都启用宏的麻烦
  18. 前端vue使用ECharts如何制作精美统计图
  19. e 服务器怎么注册不了怎么办,IMVU注册不了怎么办 服务器错误怎么办
  20. uniapp消息推送(个推-PHP服务端推送)

热门文章

  1. columns样式 jquery_columns的属性
  2. 雷达 -- 频谱历史介绍
  3. win10系统怎么禁用某个程序联网,阻止软件联网
  4. 发布H5时,提示文件查找失败
  5. java 变量不初始化_Java之哪些情况下变量不会初始化
  6. 【Linux学习】Linux free 命令学习
  7. 2022年低代码关键点:GeneXus即将推出什么
  8. GeneXus学习(三)数据库操作【可视化低代码的迁移项目】
  9. MVC 音乐商店 第 4 部分: 模型和数据访问
  10. 服务器系统内存坏了会怎样,存储服务器故障的六大原因你知道几点?