샤오미 노트북 Ubuntu 설치 후 특수 키 사용 가능
특수 키 코드 조회
자료를 찾아보면
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)'두 키가 정상적으로 사용할 수 있다.안타깝게도 작가는 이 글을 쓰기 전까지'캡처'키 코드를 얻는 방법을 찾지 못했고, 신이 나타나 조언을 해주길 바랐다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.