I've discovered strange behavior that I can't explain to me and would like to know whether this is reproducible for anyone of you or whether someone can tell me what exactly is going on here. I've been looking for information for a few hours now and haven't found anything useful.
The command
showkey -s
returns the scancode of every pressed (or released) key. The scancode is independent of the keyboard layout, since the country-specific differences are only key labeling. The scancode is generated by the keyboard itself and, as far as I know, cannot be changed. In order to assign a behavior to a key there is a translation table in the operating system which assigns a key code to a scan code (e.g. the character "A" for the scan code 0x1E).So much for the introduction.
If I connect my keyboard (CHERRY Type: RS 6000 USB ON, P/N: G83-6104 LUNEU-0/04) to a PC w/ Linux Mint 18.3, I can read all scan codes correctly (e.g. 0x01 for ESC key). The extended keys are also recognized correctly (e.g. 0xE0 0x38 for right ALT).
If I connect the same keyboard to the Raspberry Pi 3B w/ dietPi 6.34.3, all scan codes are output correctly, except all with extended scan codes. Instead of the dual output (0xE0 0x..) it shows a single hex code which I can't find in any table of any information on the internet.
Examples:
Code: Select all
Cursor left:
PC/Mint : 0xE0 0x4B
RasPi/dietPi: 0x69
Cursor right:
PC/Mint : 0xE0 0x4D
RasPi/dietPi: 0x6A
WIN left:
PC/Mint : 0xE0 0x5B
RasPi/dietPi: 0x7D
WIN right:
PC/Mint : 0xE0 5C
RasPi/dietPi: 0xFE
Keypad ENTER:
PC/Mint : 0xE0 0x1C
RasPi/dietPi: 0x60
Please leave an answer if you have any idea ...