샤오미 노트북 Ubuntu 설치 후 특수 키 사용 가능

2835 단어
최근 샤오미 노트북에 우분투18을 설치했다.04.1에서'비행 모드(F9와 같은 키)','터치보드 켜기(Fn+Space)','캡처(F7과 같은 키)'세 개의 특수 키를 사용할 수 없음을 발견했다.
특수 키 코드 조회
자료를 찾아보면xev,showkey,xbindkeys 등 명령은 키마다 키코드를, acpi_listen는 미리 설정된 트리거 이벤트를 조회할 수 있습니다.
다음 명령 테스트를 통과한 후
xbindkeys -k #              ,    “    ” ,keycode 255,         
xev #              ,        
showkey -k #              ,        
acpi_listen  #              ,        
dmesg 명령은 하드웨어의 감지 또는 연결 끊기 정보를 볼 수 있습니다.그래서 키코드가 조회되지 않은 '터치보드 켜기', '캡처' 키를 계속 테스트했다.터치패드 켜기 버튼을 누르면 다음과 같은 메시지가 표시되며 캡처 버튼을 누르면 아무런 메시지가 표시되지 않습니다.
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('
') # 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)'두 키가 정상적으로 사용할 수 있다.안타깝게도 작가는 이 글을 쓰기 전까지'캡처'키 코드를 얻는 방법을 찾지 못했고, 신이 나타나 조언을 해주길 바랐다.

좋은 웹페이지 즐겨찾기