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?
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?
Odpowiedzi:
Masz różne opcje w zależności od używanego systemu operacyjnego.
Po pierwsze, musisz znać kilka terminów: A scancode
jest 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 keycode
to drugi poziom identyfikacji klucza, kod klucza odpowiada funkcji. A symbol
to trzeci poziom identyfikacji klucza, to sposób, w jaki Xorg odnosi się do kluczy.
Jako użytkownik systemu Linux możesz użyć showkey
polecenia 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 xev
polecenia z xorg-xev
pakietu.
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 setkeycodes
jak 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.
xev
Narzędzie pod X lubshowkey
programu, w ramach konsoli Linux zgłosi tę informację.