Aby skonfigurować ergonomiczną klawiaturę Microsoft 4000, musimy utworzyć plik konfiguracyjny zawierający deklarację klawiatury i rekordy mapowania klawiszy.
Aby to zrobić, należy określić trzy rodzaje informacji:
- Rodzaj klawiatury
- Klawisz,
scancode
który jest rzeczywistym klawiszem na klawiaturze
- Klawisz
name
do przypisania żądanej funkcjonalności do wybranego klawisza
Najpierw znajdź typ klawiatury:
W terminalu uruchom następującą komendę:
lsusb
wyjście określa typ klawiatury:
...
Bus 004 Device 022: ID 045e:00db Microsoft Corp. Natural Ergonomic Keyboard 4000 V1.0
...
Pojawia się po ID
. W tym przypadku tak jest045e:00db
Następnie znajdź scancode i nazwę klucza.
Aby je ustalić, używamy evtest
programu, który wylogowuje informacje o zdarzeniu określonego urządzenia na terminalu:
evtest
Jeśli nie masz programu, zainstaluj go, uruchamiając następujące polecenie:
sudo apt-get install evtest
Po uruchomieniu evtest
programu otrzymujemy następujące dane wyjściowe:
No device specified, trying to scan all of /dev/input/event* Available devices:
/dev/input/event0: Power Button
/dev/input/event1: Power Button
/dev/input/event2: PixArt USB Optical Mouse
/dev/input/event3: Microsoft Natural® Ergonomic Keyboard 4000
/dev/input/event4: Microsoft Natural® Ergonomic Keyboard 4000
/dev/input/event5: HDA Intel Front Headphone
/dev/input/event6: HDA Intel Line Out
/dev/input/event7: HDA Intel Line
/dev/input/event8: HDA Intel Rear Mic
/dev/input/event9: HDA Intel Front Mic
/dev/input/event10: HDA ATI HDMI HDMI/DP,pcm=3
Select the device event number [0-10]:
Wyjście jest dość oczywiste, wstaw odpowiednią liczbę dla klawiatury, która tutaj jest liczbą, 3
a następnie naciśnij Enter:
Spowoduje to wyświetlenie wielu informacji na terminalu i zakończy się następującymi wierszami:
...
Testing ... (interrupt to exit)
Event: time 1472203902.240594, type 17 (EV_LED), code 0 (LED_NUML), value 0
Event: time 1472203902.240594, -------------- SYN_REPORT ------------
Event: time 1472203902.281456, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70058
Event: time 1472203902.281456, type 1 (EV_KEY), code 96 (KEY_KPENTER), value 0
Event: time 1472203902.281456, -------------- SYN_REPORT ------------
Teraz po każdym naciśnięciu klawisza na klawiaturze wyrzuca kluczowe informacje. Na przykład klawisz Slash obok prawego klawisza Shift pokazuje:
Event: time 1472205062.294078, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70038
Event: time 1472205062.294078, type 1 (EV_KEY), code 12 (KEY_SLASH), value 0
Event: time 1472205062.294078, -------------- SYN_REPORT ------------
Pierwszy wiersz dziennika zawiera informacje o rzeczywistym klawiszu na klawiaturze, takie jak ten, scancode
który następuje po wartości. W tym przypadku jest to 70038
Drugi wiersz zawiera przypisane informacje o funkcjonalności, takie jak nazwa klucza. W tym przypadku jest to SLASH . Sprawdź pozostałe klucze, aby znaleźć ich odpowiednie nazwy.
Krótko mówiąc:
- Nasz typ klawiatury to: 045e: 00db
- Kod klucza Slash to: 70038
- Nazwa klucza do przypisania to SLASH
Po zebraniu niezbędnych informacji tworzymy plik konfiguracyjny:
sudoedit /etc/udev/hwdb.d/61-keyboard-local.hwdb
Naciśnij, i
aby aktywować tryb wstawiania i wpisz następujące polecenie:
keyboard:usb:v045Ep00DB*
KEYBOARD_KEY_70038=minus
Zapisz i wyjdź, naciskając, escape
a następnie pisząc :wq
i naciskając enter.
Następnie uruchom następujące dwa polecenia, aby konfiguracja została zastosowana:
sudo udevadm hwdb --update
sudo udevadm control --reload
Na koniec odłącz klawiaturę i podłącz ją ponownie.
Kilka uwag na temat pliku konfiguracyjnego:
- Format pliku powinien być dokładnie taki, jak pokazano, przestrzeń przed mapowaniem rekordów ma kluczowe znaczenie.
- Zamiast
sudoedit
korzystać z dowolnego innego edytora tekstu, pamiętaj tylko o przestrzeganiu dokładnego formatu pliku, jak wyjaśniono powyżej.
- Do typu klawiatury dodano dwa znaki:
v
i p
które oznaczają sprzedawcę i produkt. Są również ważne.
- Typ klawiatury jest zapisany wielkimi literami w pliku konfiguracyjnym. Nasz typ klawiatury to 045e: 00db, ale w konfiguracji wstawiamy v045Ep00DB *
- Scancode klucza pojawia się zaraz po nim
KEYBOARD_KEY_
- Nazwa klucza pojawia się małymi literami w pliku konfiguracyjnym
- Po tym samouczku możesz dostosować prawie każdy klawisz na klawiaturze.