Multumesc tuturor.
Mi-a luat câteva zile să aflu soluția, în sfârșit, am găsit calea corectă.
Referinţă
Mapează codurile de scanare cu codurile cheie
fundal
Versiunea 11 a protocolului X acceptă numai coduri cheie pe un singur octet. Deci, codurile cheie de peste 255 sunt ignorate. Ubuntu 20.04 LTS, până acum, folosește încă versiunea 11 a protocolului X.
Tastatura mea de la distanță G7BTS are un buton âOKâ. Acest buton are un cod de cheie de 353. În âxevâ, nu se întâmplă nimic atunci când acest buton este apăsat.
Soluţie
Pe scurt, soluția este crearea unui fișier de configurare hwdb, care este folosit pentru a remapa anumite chei la alte chei.
udev
udev oferă o funcție încorporată numită hwdb pentru a menține indexul bazei de date hardware în /etc/udev/hwdb.bin. Baza de date este compilată din fișiere cu extensia .hwdb situate în directoarele /usr/lib/udev/hwdb.d/, /run/udev/hwdb.d/ și /etc/udev/hwdb.d/. Fișierul implicit de mapare scancodes-to-keycodes este /usr/lib/udev/hwdb.d/60-keyboard.hwdb.
Dispozitive de intrare generice (de asemenea, tastaturi USB) identificate prin modaliile nucleului USB:
evdev:input:b<bus_id>v<vendor_id>p<product_id>e<version_id>-
unde , și sunt codurile hexadecimale de 4 cifre ale furnizorului, al produsului și al versiunii
Cum să găsiți acele id-uri de mai sus este cheia
instalați hardinfo
sudo apt install hardinfo
software â System Profiler â Dispozitive de intrare â G7BTS Consumer Control
Informatie despre dispozitiv
Denumiți G7BTS Comsumer Control
Tastați tastatură
Autobuz 0x0005
Vender 0x045e
Produs 0x0041
Versiunea 0x0300
Un alt lucru de import este să obțineți codul de scanare al butonului âOKâ.
instalați evtest
sudo apt-get install evtest
sudo evtest
Nu s-a specificat niciun dispozitiv, se încearcă să scaneze tot /dev/input/event*
Dispozitive disponibile:
/dev/input/event0: Comutator capac
/dev/input/event1: butonul Sleep
/dev/input/event2: Buton de alimentare
/dev/input/event3: tastatură AT Translated Set 2
/dev/input/event4: TouchPad SynPS/2 Synaptics
/dev/input/event5: TPPS/2 IBM TrackPoint
/dev/input/event6: Butoane ThinkPad Extra
/dev/input/event7: magistrală video
/dev/input/event8: Camera integrată: C integrată
/dev/input/event9: Tastatură G7BTS
/dev/input/event10: Mouse G7BTS
/dev/input/event11: Controlul consumatorilor G7BTS
/dev/input/event12: Controlul sistemului G7BTS
/dev/input/event13: HDA Intel PCH Mic
/dev/input/event14: HDA Intel PCH Dock Mic
/dev/input/event15: Căști HDA Intel PCH
/dev/input/event16: Căști HDA Intel PCH Dock
/dev/input/event17: HDA Intel PCH HDMI/DP, pcm=3
/dev/input/event11: HDA Intel PCH HDMI/DP, pcm=7
/dev/input/event19: HDA Intel PCH HDMI/DP, pcm=8
Selectați numărul evenimentului dispozitivului [0-19]: ^C
Acordați atenție â/dev/input/event11â
sudo evtest /dev/input/event11
Apoi apăsați butonul âOKâ, iar rezultatul este mai jos
Eveniment: ora 1640238746.775220, tip 4 (EV_MSC), cod 4 (MSC_SCAN), valoare c0041
Eveniment: ora 1640238746.775220, tip 1 (EV_KEY), cod 353 (KEY_SELECT), valoare 0
Eveniment: ora 1640238746.775220, -------------- SYN_REPORT ------------
Fiți atenți la âvaloarea c0041â. Această valoare c0041 este codul de scanare al butonului âOKâ.
Faceți fișierul hwdb
Acum, avem ID-urile și codul de scanare de care avem nevoie. Puneți-le în „dispozitivele de intrare generice (de asemenea, tastaturi USB) identificate de modaliile nucleului USB” de mai sus și, în sfârșit, avem fișierul de configurare G7BTS.hwdb de mai jos:
evdev:input:b0005v045Ep0041e0300*
KEYBOARD_KEY_c0041=introduceți
În context, butonul âOKâ este mapat în tasta âenterâ. Îl puteți mapa în orice cheie doriți.
Pune fișierul la destinație
sudo mv G7BTS.hwdb /etc/udev/hwdb.d/
Actualizați
sudo udevadm hwdb --update
sudo udevadm trigger --verbose
Test
sudo udevadm hwdb --test='evdev:input:b0005v045Ep0041e0300*'
rezultatul este
KEYBOARD_KEY_c0041=introduceți
sfarsit
Aceștia sunt toți pașii pentru a remapa cheile. Aceste remapări încă funcționează după repornire.