komunikaty klawiatury USB

0

Kupiłem (DIGITECH XC-4943) klawiaturę multimedialną. Nie ma instrukcji, a niektóre klawisze nie są oznaczone. Czy istnieje narzędzie (lub jakiś kod delphi), którego można użyć do wyświetlania komunikatów wysyłanych przez każdy klucz?


źródło
1
xevNarzędzie pod X lub showkeyprogramu, w ramach konsoli Linux zgłosi tę informację.
sarnold

Odpowiedzi:

0

Masz różne opcje w zależności od używanego systemu operacyjnego.

Po pierwsze, musisz znać kilka terminów: A scancodejest najniższym numerem identyfikacyjnym klucza. Jeśli klucz nie ma scancode, nie możemy nic zrobić, ponieważ oznacza to, że jądro go nie widzi. A keycodeto drugi poziom identyfikacji klucza, kod klucza odpowiada funkcji. A symbolto trzeci poziom identyfikacji klucza, to sposób, w jaki Xorg odnosi się do kluczy.

Jako użytkownik systemu Linux możesz użyć showkeypolecenia w terminalu TTY, aby sprawdzić kody dostępu. Nie używaj tego w Emulatorze terminali na Xorg. Jeśli chcesz użyć emulatora terminali, użyj xevpolecenia z xorg-xevpakietu.

Jeśli nie widzisz kodu na ekranie przeciwko naciśnięciu klawisza, musisz zaryzykować znalezienie jego skancodów i przypisanie im kodu.

Naciśnij klawisz na terminalu TTY, a następnie wykonaj:

$ dmesg|tail -5

Jeśli zobaczysz coś podobnego do tego:

atkbd.c: Unknown key pressed (translated set 2, code 0xf1 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e071 <keycode>' to make it known.

Wiesz, że jądro rozpoznaje naciśnięcie klawisza, ale nie ma przypisanego kodu. Użyj setkeycodesjak wspomniano, aby przypisać kod do kodu scancode.

EDYCJA: Daj mi znać, jeśli chcesz uzyskać więcej informacji na temat robienia tego wszystkiego z poziomu Xorg. Lub w celu uzyskania dalszych informacji na temat tworzenia i przypisywania specjalnych kluczy.

darnir
źródło