input: fix KEY_power key code conflict with japanese \_ key

- This key code is inherited from BeOS, where it was used for the power
  key on Apple ADB keyboards
- Since then, we have introduced a new system for "multimedia" keys,
  that uses HID key codes directly instead of defining our own mappings
- The PS2 driver was using the HID keycode, but the USB driver was still
  using the BeOS defined one
- Japanese keyboards, which have a few more keys than US and European
  ones, reused the same keycode for something else

Since the power key does not need to be mapped by the keymap, move it
out of the way by using the HID keycode (key codes larger than 0x7f
cannot be mapped to UTF8 symbols). Remove all mentions of the use of
0x6b as a keycode for the power key, but add a note in the documentation
that BeOS did this.

To avoid further confusions, complete the documentation of extra
keycodes, and remove some definitions from keyboard_mouse_driver.h that
should have been in InterfaceDefs.h.

While researching this, I also found that some keys specific to Korean
keyboards were declared in the wrong place, as mapped codes instead of
unmapped ones (checked that by looking at the HID driver, which emits
these raw keycodes, and confirming that the mapped ones are not used in
any keymaps. Also added a note about the mapping of the extra modifier
keys in Japanese keyboards, which I think may be a problem since these
map to invalid UTF-8 byte sequences, but this is what the existing
keymap does, so leaving it as is for now until we can determine if this
can be changed or if we have to keep it that way.

Change-Id: I6a198a0840cba7739bdc78e0c65e5d8fd23956c9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8047
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
X512
2024-08-19 16:00:25 +00:00
committed by waddlesplash
parent d4b18b5602
commit 2141d2fe3a
72 changed files with 63 additions and 115 deletions
+41 -27
View File
@@ -32,40 +32,54 @@ In addition to the keys listed in the picture above, some more keys are defined:
International keyboards each differ a bit but generally share an extra key International keyboards each differ a bit but generally share an extra key
located in-between the left shift key and Z with the key code 0x69. located in-between the left shift key and Z with the key code 0x69.
Mac keyboards have an equal sign in the keypad with key code 0x6a and some Japanese keyboards also have a second extra key, either at the left of or under backspace.
other differences. Often times the keys produce the same key code but appear in This second extra key gets the code 0x6b.
different locations.
Mac keyboards have an equal sign in the keypad with key code 0x6a. Some
other keys produce the same key code but appear in different locations than their PC counterparts.
BeOS used to allocate 0x6b to the power button on ADB keyboards. This is not the case in Haiku,
instead, see the "multimedia" keys information below for the power button handling.
Some keyboards provide additional "multimedia" keys. These are reported based on their USB HID Some keyboards provide additional "multimedia" keys. These are reported based on their USB HID
keycodes. Note that these codes are larger than 127, and therefore cannot be mapped in the keymap. keycodes. Note that these codes are larger than 127, and therefore cannot be mapped in the keymap.
These keys can only be handled using B_UNMAPPED_KEY_DOWN messages and are never associated with a These keys can only be handled using B_UNMAPPED_KEY_DOWN messages and are never associated with a
character. character.
Here is a list of the commonly available key codes: Here is a list of the commonly available key codes not visible in the keyboard picture above:
Key code | Description <table>
------------ | -------------------------------- <tr><th>Key code</th><th>Description</th></tr>
0x00010081 | Power off <tr><td>0x69</td><td>First extra international key</td></tr>
0x00010082 | Sleep <tr><td>0x6a</td><td>Numpad =</td></tr>
0x00010083 | Wake up <tr><td>0x6b</td><td>Second extra international key</td></tr>
0x000C00B0 | Play media <tr><td>0x6c</td><td>Muhenkan (left of space bar on Japanese keyboards)</td></tr>
0x000C00B5 | Scan next track <tr><td>0x6d</td><td>Henkan (first key right of spacebar on Japanese keyboards)</td></tr>
0x000C00B6 | Scan previous track <tr><td>0x6e</td><td>Katakana/Hiragana (second key right of spacebar on Japanese keyboards)</td></tr>
0x000C00B7 | Stop media <tr><td>0xf0</td><td>Hangul key (for Korean keyboards)</td></tr>
0x000C00E2 | Mute sound <tr><td>0xf1</td><td>Hangul hanja key (for Korean keyboards)</td></tr>
0x000C00E9 | Increase sound volume <tr><td>0x00010081</td><td>Power off</td></tr>
0x000C00EA | Decrease sound volume <tr><td>0x00010082</td><td>Sleep</td></tr>
0x000C0183 | Launch control configuration application <tr><td>0x00010083</td><td>Wake up</td></tr>
0x000C018A | Launch e-mail application <tr><td>0x000C00B0</td><td>Play media</td></tr>
0x000C0192 | Launch calculator application <tr><td>0x000C00B5</td><td>Scan next track</td></tr>
0x000C0194 | Launch file manager application <tr><td>0x000C00B6</td><td>Scan previous track</td></tr>
0x000C0221 | Search <tr><td>0x000C00B7</td><td>Stop media</td></tr>
0x000C0223 | Go to home page <tr><td>0x000C00E2</td><td>Mute sound</td></tr>
0x000C0224 | Previous page <tr><td>0x000C00E9</td><td>Increase sound volume</td></tr>
0x000C0225 | Next page <tr><td>0x000C00EA</td><td>Decrease sound volume</td></tr>
0x000C0226 | Stop <tr><td>0x000C0183</td><td>Launch control configuration application</td></tr>
0x000C0227 | Refresh <tr><td>0x000C018A</td><td>Launch e-mail application</td></tr>
0x000C022A | Bookmarks <tr><td>0x000C0192</td><td>Launch calculator application</td></tr>
<tr><td>0x000C0194</td><td>Launch file manager application</td></tr>
<tr><td>0x000C0221</td><td>Search</td></tr>
<tr><td>0x000C0223</td><td>Go to home page</td></tr>
<tr><td>0x000C0224</td><td>Previous page</td></tr>
<tr><td>0x000C0225</td><td>Next page</td></tr>
<tr><td>0x000C0226</td><td>Stop</td></tr>
<tr><td>0x000C0227</td><td>Refresh</td></tr>
<tr><td>0x000C022A</td><td>Bookmarks</td></tr>
</table>
\section modifiers Modifier Keys \section modifiers Modifier Keys
+10 -4
View File
@@ -63,11 +63,10 @@ enum {
B_FUNCTION_KEY = 0x10, B_FUNCTION_KEY = 0x10,
// for Japanese and Korean keyboards // For Japanese keyboards, two modifier keys are mapped to invalid UTF-8, with just a single
// byte having the 8th bit set.
B_KATAKANA_HIRAGANA = 0xf2, B_KATAKANA_HIRAGANA = 0xf2,
B_HANKAKU_ZENKAKU = 0xf3, B_HANKAKU_ZENKAKU = 0xf3,
B_HANGUL = 0xf0,
B_HANGUL_HANJA = 0xf1
}; };
enum { enum {
@@ -85,7 +84,14 @@ enum {
B_F12_KEY = 0x0d, B_F12_KEY = 0x0d,
B_PRINT_KEY = 0x0e, B_PRINT_KEY = 0x0e,
B_SCROLL_KEY = 0x0f, B_SCROLL_KEY = 0x0f,
B_PAUSE_KEY = 0x10 B_PAUSE_KEY = 0x10,
B_NUM_LOCK_KEY = 0x22,
B_CAPS_LOCK_KEY = 0x3b,
B_SPACE_BAR_KEY = 0x5e,
B_NUMPAD_EQUAL_KEY = 0x6a,
// For Korean keyboards
B_HANGUL_KEY = 0xf0,
B_HANGUL_HANJA_KEY = 0xf1
}; };
struct key_map { struct key_map {
@@ -10,10 +10,9 @@
#include <Drivers.h> #include <Drivers.h>
#define KEY_Scroll 0x0f // FIXME: these should go in InterfaceDefs.h (in the same enum as B_F1_KEY), but the names would
#define KEY_Pause 0x10 // clash with names in the modifiers enum also defined there, so we would need to first rename the
#define KEY_Num 0x22 // values in the modifiers enumeration.
#define KEY_CapsLock 0x3b
#define KEY_ShiftL 0x4b #define KEY_ShiftL 0x4b
#define KEY_ShiftR 0x56 #define KEY_ShiftR 0x56
#define KEY_ControlL 0x5c #define KEY_ControlL 0x5c
@@ -27,11 +26,8 @@
#define KEY_OptR 0x67 #define KEY_OptR 0x67
#define KEY_WinR 0x67 #define KEY_WinR 0x67
#define KEY_Menu 0x68 #define KEY_Menu 0x68
#define KEY_NumEqual 0x6a
#define KEY_Power 0x6b
#define KEY_SysRq 0x7e #define KEY_SysRq 0x7e
#define KEY_Break 0x7f #define KEY_Break 0x7f
#define KEY_Spacebar 0x5e
#define KB_DEFAULT_CONTROL_ALT_DEL_TIMEOUT 4000000 #define KB_DEFAULT_CONTROL_ALT_DEL_TIMEOUT 4000000
@@ -8,6 +8,7 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <interface/InterfaceDefs.h>
#include <usb/USB_hid.h> #include <usb/USB_hid.h>
#include <util/AutoLock.h> #include <util/AutoLock.h>
@@ -641,7 +642,7 @@ KeyboardProtocolHandler::_ReadReport(bigtime_t timeout, uint32 *cookie)
0x53, // , 0x53, // ,
0x54, // . 0x54, // .
0x55, // / 0x55, // /
KEY_CapsLock, // Caps B_CAPS_LOCK_KEY, // Caps
0x02, // F1 0x02, // F1
0x03, // F2 0x03, // F2
0x04, // F3 0x04, // F3
@@ -655,8 +656,8 @@ KeyboardProtocolHandler::_ReadReport(bigtime_t timeout, uint32 *cookie)
0x0c, // F11 0x0c, // F11
0x0d, // F12 0x0d, // F12
0x0e, // PrintScreen 0x0e, // PrintScreen
KEY_Scroll, // Scroll Lock B_SCROLL_KEY, // Scroll Lock
KEY_Pause, // Pause (0x7f with Ctrl) B_PAUSE_KEY, // Pause (0x7f with Ctrl)
0x1f, // Insert 0x1f, // Insert
0x20, // Home 0x20, // Home
0x21, // Page up 0x21, // Page up
@@ -686,8 +687,8 @@ KeyboardProtocolHandler::_ReadReport(bigtime_t timeout, uint32 *cookie)
0x65, // Pad . 0x65, // Pad .
0x69, // < 0x69, // <
KEY_Menu, // Menu KEY_Menu, // Menu
KEY_Power, // Power 0x00, // Power unmapped
KEY_NumEqual, // Pad = B_NUMPAD_EQUAL_KEY, // Pad =
0x00, // F13 unmapped 0x00, // F13 unmapped
0x00, // F14 unmapped 0x00, // F14 unmapped
0x00, // F15 unmapped 0x00, // F15 unmapped
@@ -732,8 +733,7 @@ KeyboardProtocolHandler::_ReadReport(bigtime_t timeout, uint32 *cookie)
0xf1, // Hangul_Hanja, korean, Eisu, Mac japanese USB 0xf1, // Hangul_Hanja, korean, Eisu, Mac japanese USB
}; };
static const size_t kKeyTableSize static const size_t kKeyTableSize = B_COUNT_OF(kKeyTable);
= sizeof(kKeyTable) / sizeof(kKeyTable[0]);
bool phantomState = true; bool phantomState = true;
for (size_t i = 0; i < fKeyCount; i++) { for (size_t i = 0; i < fKeyCount; i++) {
@@ -780,7 +780,7 @@ KeyboardProtocolHandler::_ReadReport(bigtime_t timeout, uint32 *cookie)
if (current[i] < kKeyTableSize) if (current[i] < kKeyTableSize)
key = kKeyTable[current[i]]; key = kKeyTable[current[i]];
if (key == KEY_Pause && (modifiers & ALT_KEYS) != 0) if (key == B_PAUSE_KEY && (modifiers & ALT_KEYS) != 0)
key = KEY_Break; key = KEY_Break;
else if (key == 0xe && (modifiers & ALT_KEYS) != 0) { else if (key == 0xe && (modifiers & ALT_KEYS) != 0) {
key = KEY_SysRq; key = KEY_SysRq;
+1 -2
View File
@@ -868,8 +868,7 @@ Keymap::_SaveSourceText(FILE* file)
"#\tNOTE: On an Apple Extended Keyboard:\n" "#\tNOTE: On an Apple Extended Keyboard:\n"
"#\t\t\tleft option = 0x66\n" "#\t\t\tleft option = 0x66\n"
"#\t\t\tright option = 0x67\n" "#\t\t\tright option = 0x67\n"
"#\t\t\tkeypad '=' = 0x6a\n" "#\t\t\tkeypad '=' = 0x6a\n");
"#\t\t\tpower key = 0x6b\n");
#ifdef HAIKU_TARGET_PLATFORM_HAIKU #ifdef HAIKU_TARGET_PLATFORM_HAIKU
if (runs != NULL) { if (runs != NULL) {
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
@@ -31,7 +31,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x00 CapsLock = 0x00
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -30,7 +30,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -32,7 +32,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
@@ -30,7 +30,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -30,7 +30,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
@@ -30,7 +30,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -30,7 +30,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -31,7 +31,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
@@ -30,7 +30,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -30,7 +30,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
@@ -30,7 +30,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f
-1
View File
@@ -29,7 +29,6 @@
# left option = 0x66 # left option = 0x66
# right option = 0x67 # right option = 0x67
# keypad '=' = 0x6a # keypad '=' = 0x6a
# power key = 0x6b
Version = 3 Version = 3
CapsLock = 0x3b CapsLock = 0x3b
ScrollLock = 0x0f ScrollLock = 0x0f