Closed Andechs75 closed 4 years ago
@Andechs75 I'll need some help from you, as I cannot accurately resolve the issue. It boils down to this:
Can you please tell me, when you are in the "Controls" configuration screen, if Elite always shows the "expected" key or another one? Concretely, if you assign the "Z" key to a binding, will Elite show a "Z" (as expected) or will it show a "Y" (as if it were in US layout)?
Thanks in advance for your help.
Some Tests:
The problem shows here:
It is not the classical wrong keyboard problem, cause the qwertz to qwerty problem is not present. But the illumination of the other "special" keys is not working. My Elite is not translating german keyboard to us-layout. It is showing the keys like i press them. So if i use "Key_Minus" Razor lights up the "US_Key_Minus" which is the "ß" key on my layout. If i use "Key_Acute", well there is no US_Key_Acute.
my binding: [?xml version="1.0" encoding="UTF-8" ?] [Root PresetName="warthog" MajorVersion="3" MinorVersion="0"] [KeyboardLayout]de-DE[/KeyboardLayout] ... ToggleFlightAssist Primary Device="{NoDevice}" Key="" Secondary Device="Keyboard" Key="Key_Y" ToggleOn Value="1" /ToggleFlightAssist ... DisableRotationCorrectToggle Primary Device="Keyboard" Key="Key_Hash" Secondary Device="{NoDevice}" Key="" ToggleOn Value="1" /DisableRotationCorrectToggle ... OrbitLinesToggle Primary Device="Keyboard" Key="Key_Acute" Secondary Device="{NoDevice}" Key="" /OrbitLinesToggle ... PlayerHUDModeToggle> Primary Device="Keyboard" Key="Key_Minus" Secondary Device="{NoDevice}" Key="" /PlayerHUDModeToggle
If i understand that "RazerSDK resource.h thing" u have to translate the Binding "Key_Minus" to the RZKEY enumeration. "Key_Minus" is RZKEY_OEM_2 in US-layout , if RZKEY_OEM_2 lights up the "ß" in GER-layout we actually found the problem. Using the warthog event tester which uses US-Keyboard i got >"-" --> "-" and "ß"--> "[" and "ACUTE" --> "]" So "-" should be RZKEY_OEM_2 So "ß" should be RZKEY_OEM_4 So "ACUTE" should be RZKEY_OEM_5 ... strange ...
I found some info's about the virtualkeys and the german layout... http://kbdlayout.info/KBDGR/virtualkeys https://assets.razerzone.com/dev_portal/docs/namespace_chroma_s_d_k_1_1_keyboard.html#ad15083ee44e4c38e538f47d0e567d585 https://docs.microsoft.com/de-de/windows/win32/inputdev/virtual-key-codes
"-" --> VK_OEM_MINUS --> RZKEY_OEM_2 "ß" --> VK_OEM_4 --> RZKEY_OEM_4 "´" --> VK_OEM_6 --> RZKEY_OEM_5 "<" --> VK_OEM_102 --> RZKEY_EUR_2
maybe this is helpful...
Key_ENG | VK[hex] | VK_NAME | Key_GER | RZKEY |
---|---|---|---|---|
ENTER | D | VK_RETURN | ENTER | RZKEY_ENTER |
ESCAPE | 1B | VK_ESCAPE | ESCAPE | RZKEY_ESC |
BACKSPACE | 8 | VK_BACK | BACKSPACE | RZKEY_BACKSPACE |
TAP | 9 | VK_TAB | TAP | RZKEY_TAB |
SPACE | 20 | VK_SPACE | SPACE | RZKEY_SPACE |
[ | DB | VK_OEM_4 | ß | RZKEY_OEM_4 |
] | DD | VK_OEM_6 | ACUTE | RZKEY_OEM_5 |
; | BA | VK_OEM_1 | ü | RZKEY_OEM_7 |
PLUS | BB | VK_OEM_PLUS | PLUS | RZKEY_OEM_3 |
/ | BF | VK_OEM_2 | # | RZKEY_OEM_11 |
EUROPE1 | BF | VK_OEM_2 | # | RZKEY_EUR_1 |
~ | C0 | VK_OEM_3 | ö | RZKEY_OEM_1 |
' | DE | VK_OEM_7 | ä | RZKEY_OEM_8 |
\ | DC | VK_OEM_5 | ^ | RZKEY_OEM_6 |
, | BC | VK_OEM_COMMA | , | RZKEY_OEM_9 |
. | BE | VK_OEM_PERIOD | . | RZKEY_OEM_10 |
MINUS | BD | VK_OEM_MINUS | MINUS | RZKEY_OEM_2 |
CAPS_LOCK | 14 | VK_CAPITAL | CAPS_LOCK | RZKEY_CAPSLOCK |
EUROPE2 | E2 | VK_OEM_102 | < | RZKEY_EUR_2 |
Your feedback has been really helpful, specially the keyboard layouts link. Thanks!!!
I've been spending the last two days trying to make some sense out of this topic, and I've discovered something very important: Elite Dangerous ONLY uses the current region set up in Windows to do the keyboard mappings, and ignores whatever keyboard layout you set up.
The hint that pointed me in the right direction was the Key_Hash
and Key_Acute
bindings, which are missing from the Elite documentation. So I've started looking around and I've found a more complete list of bindings in the VoiceAttack's bindED plugin.
I'll add support to these new bindings (and probably fix a couple other) during the following days. I'll let you know when it's done.
Thanks again for your help!
Even more strange: If you use a *.binds with any language like [KeyboardLayout]en-AU[/KeyboardLayout] and you modify it in Elite it will be completely transfered to your local language. So be aware of it when using other peoples layout ;o)
If you have a beta i can check it for u.
Yes, I'm aware. I noted that myself during my tests. Thanks.
The bad thing is that the KeyboardLayout
attribute is not always accurate in regards to what Elite does with it. The attribute will always match Windows' region setting, but seems to internally fall back to english on some cases (as in Spain, which will record english keystrokes).
I'm preparing a small tool that will hopefully help in assuring that the correct key is always highlighted as expected. If it's OK with you, I'll ask you to run it to confirm that my work is done correctly.
(Edit: Link updated)
@Andechs75 please download this file: Sandbox.zip
Unzip it on a folder of your choosing, run the Sandbox.exe
file within, and follow the instructions on the screen. Hopefully the instructions are clear enough.
After you're done, take the results file produced by the program (something like VKMap_de-DE_0407-0407-00000407.txt
) and attach it to this issue in a new comment.
Also, if you notice anything different, also note it.
I already have a pretty clear picture of what I'll do, but I need to confirm the way that the Razer keyboard driver works, so the results file will help me a lot.
Thanks!
I’ve tried the Sandbox, and here is the result. Additionally I send you my sheet, I’m uising.
Well. Sometimes it doesn‘t light up the Key’s I have pressed..
If I press “^” it lights up ”<”.
The “^”-Key is VK_OEM_5 and should be “Key_BackSlash/Key_Circumflex” in Elite and in the SDK it’s “RZKEY_OEM_6”.
The “<”-Key is VK_OEM_102 and should be “Key_OEM_102/Key_LessThan” in Elite and in the SDK it’s “RZKEY_EUR_2”.
If I take a look in the txt-File:
Pressed <VK_OEM_5, Key_BackSlash, RZKEY_EUR_2
Pressed
If I press “-” it lights up ”ß”.
The “-”-Key is VK_OEM_MINUS and should be “Key_Minus” in Elite and in the SDK it’s “RZKEY_OEM_2”.
The “ß”-Key is VK_OEM_4 and should be “Key_LeftBracket/Key_ß” in Elite and in the SDK it’s “RZKEY_OEM_4”.
If I take a look in the txt-File:
Pressed <VK_OEM_Minus, Key_Minus, RZKEY_OEM_2
Pressed
If I press “ß” it lights up ”ü”.
The “ß”-Key is VK_OEM_4 and should be “Key_LeftBracket/Key_ß” in Elite and in the SDK it’s “RZKEY_OEM_4”.
The “ü”-Key is VK_OEM_1 and should be “Key_SemiColon/Key_ü” in Elite and in the SDK it’s “RZKEY_OEM_7”.
If I take a look in the txt-File:
Pressed
Pressed
I hope it’s what u expected to see
Bye, Volker
Von: Jorge Poveda notifications@github.com Gesendet: Sonntag, 30. August 2020 00:25 An: poveden/EliteChroma EliteChroma@noreply.github.com Cc: Andechs75 vofi@vofi-home.de; Mention mention@noreply.github.com Betreff: Re: [poveden/EliteChroma] Implement foreign keyboard's (#58)
@Andechs75 https://github.com/Andechs75 please download this file: Sandbox.zip https://github.com/poveden/EliteChroma/files/5146041/Sandbox.zip
Unzip it on a folder of your choosing, run the Sandbox.exe file within, and follow the instructions on the screen. Hopefully the instructions are clear enough.
After you're done, take the results file produced by the program (something like VKMap_de-DE_0407-0407-00000407.txt) and attach it to this issue in a new comment.
I already have a pretty clear picture of what I'll do, but I need to confirm the way that the Razer keyboard driver works, so the results file will help me a lot.
Thanks!
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/poveden/EliteChroma/issues/58#issuecomment-683348297 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AQPIHWXGWTAN2LR4GYB3WQDSDF525ANCNFSM4QH7T67Q . https://github.com/notifications/beacon/AQPIHWR5GWXJTVNKDLJNPVDSDF525A5CNFSM4QH7T672YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOFC5RCSI.gif
VK VirtualKey ScanCode CharHex Char EliteKey RZKEY
01 VK_LBUTTON
02 VK_RBUTTON
03 VK_CANCEL 46 03
04 VK_MBUTTON
05 VK_XBUTTON1
06 VK_XBUTTON2
07
08 VK_BACK 0E 08 Key_Backspace RZKEY_BACKSPACE
09 VK_TAB 0F 09 Key_Tab RZKEY_TAB
0A
0B
0C VK_CLEAR 4C Key_Clear RZKEY_INVALID
0D VK_RETURN 1C 0D Key_Enter RZKEY_ENTER
0E
0F
10 VK_SHIFT 2A
11 VK_CONTROL 1D
12 VK_MENU 38
13 VK_PAUSE Key_Pause RZKEY_PAUSE
14 VK_CAPITAL 3A Key_CapsLock RZKEY_CAPSLOCK
15 VK_HANGUL Key_Kana RZKEY_INVALID
16 VK_IME_ON
17 VK_JUNJA
18 VK_FINAL
19 VK_HANJA Key_Kanji RZKEY_INVALID
1A VK_IME_OFF
1B VK_ESCAPE 01 1B Key_Escape RZKEY_ESC
1C VK_CONVERT Key_Convert RZKEY_INVALID
1D VK_NONCONVERT Key_NoConvert RZKEY_INVALID
1E VK_ACCEPT
1F VK_MODECHANGE
20 VK_SPACE 39 20 Key_Space RZKEY_SPACE
21 VK_PRIOR 49 Key_PageUp RZKEY_PAGEUP
22 VK_NEXT 51 Key_PageDown RZKEY_PAGEDOWN
23 VK_END 4F Key_End RZKEY_END
24 VK_HOME 47 Key_Home RZKEY_HOME
25 VK_LEFT 4B Key_LeftArrow RZKEY_LEFT
26 VK_UP 48 Key_UpArrow RZKEY_UP
27 VK_RIGHT 4D Key_RightArrow RZKEY_RIGHT
28 VK_DOWN 50 Key_DownArrow RZKEY_DOWN
29 VK_SELECT
2A VK_PRINT
2B VK_EXECUTE
2C VK_SNAPSHOT 54 Key_SYSRQ RZKEY_PRINTSCREEN
2D VK_INSERT 52 Key_Insert RZKEY_INSERT
2E VK_DELETE 53 Key_Delete RZKEY_DELETE
2F VK_HELP 63 Key_Help RZKEY_INVALID
30 '0' 0B 30 0 Key_0 RZKEY_0
31 '1' 02 31 1 Key_1 RZKEY_1
32 '2' 03 32 2 Key_2 RZKEY_2
33 '3' 04 33 3 Key_3 RZKEY_3
34 '4' 05 34 4 Key_4 RZKEY_4
35 '5' 06 35 5 Key_5 RZKEY_5
36 '6' 07 36 6 Key_6 RZKEY_6
37 '7' 08 37 7 Key_7 RZKEY_7
38 '8' 09 38 8 Key_8 RZKEY_8
39 '9' 0A 39 9 Key_9 RZKEY_9
3A
3B
3C
3D
3E
3F
40
41 'A' 1E 41 A Key_A RZKEY_A
42 'B' 30 42 B Key_B RZKEY_B
43 'C' 2E 43 C Key_C RZKEY_C
44 'D' 20 44 D Key_D RZKEY_D
45 'E' 12 45 E Key_E RZKEY_E
46 'F' 21 46 F Key_F RZKEY_F
47 'G' 22 47 G Key_G RZKEY_G
48 'H' 23 48 H Key_H RZKEY_H
49 'I' 17 49 I Key_I RZKEY_I
4A 'J' 24 4A J Key_J RZKEY_J
4B 'K' 25 4B K Key_K RZKEY_K
4C 'L' 26 4C L Key_L RZKEY_L
4D 'M' 32 4D M Key_M RZKEY_M
4E 'N' 31 4E N Key_N RZKEY_N
4F 'O' 18 4F O Key_O RZKEY_O
50 'P' 19 50 P Key_P RZKEY_P
51 'Q' 10 51 Q Key_Q RZKEY_Q
52 'R' 13 52 R Key_R RZKEY_R
53 'S' 1F 53 S Key_S RZKEY_S
54 'T' 14 54 T Key_T RZKEY_T
55 'U' 16 55 U Key_U RZKEY_U
56 'V' 2F 56 V Key_V RZKEY_V
57 'W' 11 57 W Key_W RZKEY_W
58 'X' 2D 58 X Key_X RZKEY_X
59 'Y' 2C 59 Y Key_Y RZKEY_Y
5A 'Z' 15 5A Z Key_Z RZKEY_Z
5B VK_LWIN 5B Key_LeftWin RZKEY_LWIN
5C VK_RWIN 5C Key_RightWin RZKEY_INVALID
5D VK_APPS 5D Key_Apps RZKEY_RMENU
5E
5F VK_SLEEP 5F Key_Sleep RZKEY_INVALID
60 VK_NUMPAD0 52 30 0 Key_Numpad_0 RZKEY_NUMPAD0
61 VK_NUMPAD1 4F 31 1 Key_Numpad_1 RZKEY_NUMPAD1
62 VK_NUMPAD2 50 32 2 Key_Numpad_2 RZKEY_NUMPAD2
63 VK_NUMPAD3 51 33 3 Key_Numpad_3 RZKEY_NUMPAD3
64 VK_NUMPAD4 4B 34 4 Key_Numpad_4 RZKEY_NUMPAD4
65 VK_NUMPAD5 4C 35 5 Key_Numpad_5 RZKEY_NUMPAD5
66 VK_NUMPAD6 4D 36 6 Key_Numpad_6 RZKEY_NUMPAD6
67 VK_NUMPAD7 47 37 7 Key_Numpad_7 RZKEY_NUMPAD7
68 VK_NUMPAD8 48 38 8 Key_Numpad_8 RZKEY_NUMPAD8
69 VK_NUMPAD9 49 39 9 Key_Numpad_9 RZKEY_NUMPAD9
6A VK_MULTIPLY 37 2A * Key_Numpad_Multiply RZKEY_NUMPAD_MULTIPLY
6B VK_ADD 4E 2B + Key_Numpad_Add RZKEY_NUMPAD_ADD
6C VK_SEPARATOR
6D VK_SUBTRACT 4A 2D - Key_Numpad_Subtract RZKEY_NUMPAD_SUBTRACT
6E VK_DECIMAL 53 2C , Key_Numpad_Decimal RZKEY_NUMPAD_DECIMAL
6F VK_DIVIDE 35 2F / Key_Numpad_Divide RZKEY_NUMPAD_DIVIDE
70 VK_F1 3B Key_F1 RZKEY_F1
71 VK_F2 3C Key_F2 RZKEY_F2
72 VK_F3 3D Key_F3 RZKEY_F3
73 VK_F4 3E Key_F4 RZKEY_F4
74 VK_F5 3F Key_F5 RZKEY_F5
75 VK_F6 40 Key_F6 RZKEY_F6
76 VK_F7 41 Key_F7 RZKEY_F7
77 VK_F8 42 Key_F8 RZKEY_F8
78 VK_F9 43 Key_F9 RZKEY_F9
79 VK_F10 44 Key_F10 RZKEY_F10
7A VK_F11 57 Key_F11 RZKEY_F11
7B VK_F12 58 Key_F12 RZKEY_F12
7C VK_F13 64 Key_F13 RZKEY_INVALID
7D VK_F14 65 Key_F14 RZKEY_INVALID
7E VK_F15 66 Key_F15 RZKEY_INVALID
7F VK_F16 67 Key_F16 RZKEY_INVALID
80 VK_F17 68 Key_F17 RZKEY_INVALID
81 VK_F18 69 Key_F18 RZKEY_INVALID
82 VK_F19 6A Key_F19 RZKEY_INVALID
83 VK_F20 6B Key_F20 RZKEY_INVALID
84 VK_F21 6C
85 VK_F22 6D
86 VK_F23 6E
87 VK_F24 76
88
89
8A
8B
8C
8D
8E
8F
90 VK_NUMLOCK 45 Key_NumLock RZKEY_NUMLOCK
91 VK_SCROLL 46 Key_ScrollLock RZKEY_SCROLL
92 VK_OEM_FJ_JISHO
93 VK_OEM_FJ_MASSHOU
94 VK_OEM_FJ_TOUROKU
95 VK_OEM_FJ_LOYA
96 VK_OEM_FJ_ROYA
97
98
99
9A
9B
9C
9D
9E
9F
A0 VK_LSHIFT 2A Key_LeftShift RZKEY_LSHIFT
A1 VK_RSHIFT 36 Key_RightShift RZKEY_RSHIFT
A2 VK_LCONTROL 1D Key_LeftControl RZKEY_LCTRL
A3 VK_RCONTROL 1D Key_RightControl RZKEY_RCTRL
A4 VK_LMENU 38 Key_LeftAlt RZKEY_LALT
A5 VK_RMENU 38 Key_RightAlt RZKEY_RALT
A6 VK_BROWSER_BACK 6A Key_WebBack RZKEY_INVALID
A7 VK_BROWSER_FORWARD 69 Key_WebForward RZKEY_INVALID
A8 VK_BROWSER_REFRESH 67 Key_WebRefresh RZKEY_INVALID
A9 VK_BROWSER_STOP 68 Key_WebStop RZKEY_INVALID
AA VK_BROWSER_SEARCH 65 Key_WebSearch RZKEY_INVALID
AB VK_BROWSER_FAVORITES 66 Key_WebFavourites RZKEY_INVALID
AC VK_BROWSER_HOME 32 Key_WebHome RZKEY_INVALID
AD VK_VOLUME_MUTE 20 Key_Mute RZKEY_INVALID
AE VK_VOLUME_DOWN 2E Key_VolumeDown RZKEY_INVALID
AF VK_VOLUME_UP 30 Key_VolumeUp RZKEY_INVALID
B0 VK_MEDIA_NEXT_TRACK 19 Key_NextTrack RZKEY_INVALID
B1 VK_MEDIA_PREV_TRACK 10 Key_PrevTrack RZKEY_INVALID
B2 VK_MEDIA_STOP 24 Key_Stop RZKEY_INVALID
B3 VK_MEDIA_PLAY_PAUSE 22 Key_PlayPause RZKEY_INVALID
B4 VK_LAUNCH_MAIL 6C Key_Mail RZKEY_INVALID
B5 VK_LAUNCH_MEDIA_SELECT 6D Key_MediaSelect RZKEY_INVALID
B6 VK_LAUNCH_APP1 6B
B7 VK_LAUNCH_APP2 21
B8
B9
BA VK_OEM_1 1A FC ü Key_SemiColon RZKEY_OEM_7
BB VK_OEM_PLUS 1B 2B + Key_Equals RZKEY_OEM_3
BC VK_OEM_COMMA 33 2C , Key_Comma RZKEY_OEM_9
BD VK_OEM_MINUS 35 2D - Key_Minus RZKEY_OEM_2
BE VK_OEM_PERIOD 34 2E . Key_Period RZKEY_OEM_10
BF VK_OEM_2 2B 23 # Key_Slash RZKEY_OEM_11
C0 VK_OEM_3 27 F6 ö Key_Apostrophe RZKEY_OEM_8
C1 VK_ABNT_C1 73 Key_ABNT_C1 RZKEY_INVALID
C2 VK_ABNT_C2 7E Key_ABNT_C2 RZKEY_INVALID
C3
C4
C5
C6
C7
C8
C9
CA
CB
CC
CD
CE
CF
D0
D1
D2
D3
D4
D5
D6
D7
D8
D9
DA
DB VK_OEM_4 0C DF ß Key_LeftBracket RZKEY_OEM_4
DC VK_OEM_5 29 5E ^ Key_BackSlash RZKEY_EUR_2
DD VK_OEM_6 0D B4 ´ Key_RightBracket RZKEY_OEM_5
DE VK_OEM_7 28 E4 ä Key_Hash RZKEY_KOR_2
DF VK_OEM_8 Key_Grave RZKEY_OEM_1
E0
E1 VK_OEM_AX Key_AX RZKEY_INVALID
E2 VK_OEM_102 56 3C <
E3 VK_ICO_HELP
E4 VK_ICO_00
E5 VK_PROCESSKEY
E6 VK_ICO_CLEAR
E7 VK_PACKET
E8
E9 VK_OEM_RESET 71
EA VK_OEM_JUMP 5C
EB VK_OEM_PA1 7B
EC VK_OEM_PA2
ED VK_OEM_PA3 6F
EE VK_OEM_WSCTRL 5A
EF VK_OEM_CUSEL
F0 VK_OEM_ATTN
F1 VK_OEM_FINISH 5B
F2 VK_OEM_COPY
F3 VK_OEM_AUTO 5F
F4 VK_OEM_ENLW
F5 VK_OEM_BACKTAB 5E
F6 VK_ATTN
F7 VK_CRSEL
F8 VK_EXSEL
F9 VK_EREOF 5D
FA VK_PLAY
FB VK_ZOOM 62
FC VK_NONAME
FD VK_PA1
FE VK_OEM_CLEAR
FF 5E ^
VK VirtualKey ScanCode CharHex Char EliteKey RZKEY
1B VK_ESCAPE 01 1B Key_Escape RZKEY_ESC
70 VK_F1 3B Key_F1 RZKEY_F1
71 VK_F2 3C Key_F2 RZKEY_F2
72 VK_F3 3D Key_F3 RZKEY_F3
73 VK_F4 3E Key_F4 RZKEY_F4
74 VK_F5 3F Key_F5 RZKEY_F5
75 VK_F6 40 Key_F6 RZKEY_F6
76 VK_F7 41 Key_F7 RZKEY_F7
77 VK_F8 42 Key_F8 RZKEY_F8
78 VK_F9 43 Key_F9 RZKEY_F9
79 VK_F10 44 Key_F10 RZKEY_F10
7A VK_F11 57 Key_F11 RZKEY_F11
7A VK_F11 57 Key_F11 RZKEY_F11
7B VK_F12 58 Key_F12 RZKEY_F12
08 VK_BACK 0E 08 Key_Backspace RZKEY_BACKSPACE
DC VK_OEM_5 29 5E ^ Key_BackSlash RZKEY_EUR_2
31 '1' 02 31 1 Key_1 RZKEY_1
32 '2' 03 32 2 Key_2 RZKEY_2
33 '3' 04 33 3 Key_3 RZKEY_3
34 '4' 05 34 4 Key_4 RZKEY_4
35 '5' 06 35 5 Key_5 RZKEY_5
36 '6' 07 36 6 Key_6 RZKEY_6
37 '7' 08 37 7 Key_7 RZKEY_7
38 '8' 09 38 8 Key_8 RZKEY_8
39 '9' 0A 39 9 Key_9 RZKEY_9
30 '0' 0B 30 0 Key_0 RZKEY_0
DB VK_OEM_4 0C DF ß Key_LeftBracket RZKEY_OEM_4
DD VK_OEM_6 0D B4 ´ Key_RightBracket RZKEY_OEM_5
08 VK_BACK 0E 08 Key_Backspace RZKEY_BACKSPACE
09 VK_TAB 0F 09 Key_Tab RZKEY_TAB
51 'Q' 10 51 Q Key_Q RZKEY_Q
57 'W' 11 57 W Key_W RZKEY_W
45 'E' 12 45 E Key_E RZKEY_E
52 'R' 13 52 R Key_R RZKEY_R
54 'T' 14 54 T Key_T RZKEY_T
5A 'Z' 15 5A Z Key_Z RZKEY_Z
55 'U' 16 55 U Key_U RZKEY_U
49 'I' 17 49 I Key_I RZKEY_I
4F 'O' 18 4F O Key_O RZKEY_O
50 'P' 19 50 P Key_P RZKEY_P
BA VK_OEM_1 1A FC ü Key_SemiColon RZKEY_OEM_7
BB VK_OEM_PLUS 1B 2B + Key_Equals RZKEY_OEM_3
0D VK_RETURN 1C 0D Key_Enter RZKEY_ENTER
14 VK_CAPITAL 3A Key_CapsLock RZKEY_CAPSLOCK
41 'A' 1E 41 A Key_A RZKEY_A
53 'S' 1F 53 S Key_S RZKEY_S
44 'D' 20 44 D Key_D RZKEY_D
46 'F' 21 46 F Key_F RZKEY_F
47 'G' 22 47 G Key_G RZKEY_G
48 'H' 23 48 H Key_H RZKEY_H
4A 'J' 24 4A J Key_J RZKEY_J
4B 'K' 25 4B K Key_K RZKEY_K
4C 'L' 26 4C L Key_L RZKEY_L
C0 VK_OEM_3 27 F6 ö Key_Apostrophe RZKEY_OEM_8
DE VK_OEM_7 28 E4 ä Key_Hash RZKEY_KOR_2
BF VK_OEM_2 2B 23 # Key_Slash RZKEY_OEM_11
10 VK_SHIFT 2A
A0 VK_LSHIFT 2A Key_LeftShift RZKEY_LSHIFT
E2 VK_OEM_102 56 3C <
59 'Y' 2C 59 Y Key_Y RZKEY_Y
58 'X' 2D 58 X Key_X RZKEY_X
43 'C' 2E 43 C Key_C RZKEY_C
56 'V' 2F 56 V Key_V RZKEY_V
42 'B' 30 42 B Key_B RZKEY_B
4E 'N' 31 4E N Key_N RZKEY_N
4D 'M' 32 4D M Key_M RZKEY_M
BC VK_OEM_COMMA 33 2C , Key_Comma RZKEY_OEM_9
BE VK_OEM_PERIOD 34 2E . Key_Period RZKEY_OEM_10
BD VK_OEM_MINUS 35 2D - Key_Minus RZKEY_OEM_2
10 VK_SHIFT 2A
A1 VK_RSHIFT 36 Key_RightShift RZKEY_RSHIFT
14 VK_CAPITAL 3A Key_CapsLock RZKEY_CAPSLOCK
11 VK_CONTROL 1D
A2 VK_LCONTROL 1D Key_LeftControl RZKEY_LCTRL
5B VK_LWIN 5B Key_LeftWin RZKEY_LWIN
12 VK_MENU 38
A4 VK_LMENU 38 Key_LeftAlt RZKEY_LALT
20 VK_SPACE 39 20 Key_Space RZKEY_SPACE
11 VK_CONTROL 1D
12 VK_MENU 38
A2 VK_LCONTROL 1D Key_LeftControl RZKEY_LCTRL
A5 VK_RMENU 38 Key_RightAlt RZKEY_RALT
5D VK_APPS 5D Key_Apps RZKEY_RMENU
11 VK_CONTROL 1D
A3 VK_RCONTROL 1D Key_RightControl RZKEY_RCTRL
27 VK_RIGHT 4D Key_RightArrow RZKEY_RIGHT
28 VK_DOWN 50 Key_DownArrow RZKEY_DOWN
25 VK_LEFT 4B Key_LeftArrow RZKEY_LEFT
26 VK_UP 48 Key_UpArrow RZKEY_UP
2E VK_DELETE 53 Key_Delete RZKEY_DELETE
23 VK_END 4F Key_End RZKEY_END
22 VK_NEXT 51 Key_PageDown RZKEY_PAGEDOWN
2D VK_INSERT 52 Key_Insert RZKEY_INSERT
24 VK_HOME 47 Key_Home RZKEY_HOME
21 VK_PRIOR 49 Key_PageUp RZKEY_PAGEUP
2C VK_SNAPSHOT 54 Key_SYSRQ RZKEY_PRINTSCREEN
91 VK_SCROLL 46 Key_ScrollLock RZKEY_SCROLL
13 VK_PAUSE Key_Pause RZKEY_PAUSE
60 VK_NUMPAD0 52 30 0 Key_Numpad_0 RZKEY_NUMPAD0
61 VK_NUMPAD1 4F 31 1 Key_Numpad_1 RZKEY_NUMPAD1
62 VK_NUMPAD2 50 32 2 Key_Numpad_2 RZKEY_NUMPAD2
63 VK_NUMPAD3 51 33 3 Key_Numpad_3 RZKEY_NUMPAD3
64 VK_NUMPAD4 4B 34 4 Key_Numpad_4 RZKEY_NUMPAD4
65 VK_NUMPAD5 4C 35 5 Key_Numpad_5 RZKEY_NUMPAD5
66 VK_NUMPAD6 4D 36 6 Key_Numpad_6 RZKEY_NUMPAD6
67 VK_NUMPAD7 47 37 7 Key_Numpad_7 RZKEY_NUMPAD7
68 VK_NUMPAD8 48 38 8 Key_Numpad_8 RZKEY_NUMPAD8
69 VK_NUMPAD9 49 39 9 Key_Numpad_9 RZKEY_NUMPAD9
6E VK_DECIMAL 53 2C , Key_Numpad_Decimal RZKEY_NUMPAD_DECIMAL
0D VK_RETURN 1C 0D Key_Enter RZKEY_ENTER
6B VK_ADD 4E 2B + Key_Numpad_Add RZKEY_NUMPAD_ADD
6D VK_SUBTRACT 4A 2D - Key_Numpad_Subtract RZKEY_NUMPAD_SUBTRACT
6A VK_MULTIPLY 37 2A * Key_Numpad_Multiply RZKEY_NUMPAD_MULTIPLY
6F VK_DIVIDE 35 2F / Key_Numpad_Divide RZKEY_NUMPAD_DIVIDE
90 VK_NUMLOCK 45 Key_NumLock RZKEY_NUMLOCK
90 VK_NUMLOCK 45 Key_NumLock RZKEY_NUMLOCK
B1 VK_MEDIA_PREV_TRACK 10 Key_PrevTrack RZKEY_INVALID
B3 VK_MEDIA_PLAY_PAUSE 22 Key_PlayPause RZKEY_INVALID
B0 VK_MEDIA_NEXT_TRACK 19 Key_NextTrack RZKEY_INVALID
AD VK_VOLUME_MUTE 20 Key_Mute RZKEY_INVALID
AF VK_VOLUME_UP 30 Key_VolumeUp RZKEY_INVALID
AE VK_VOLUME_DOWN 2E Key_VolumeDown RZKEY_INVALID
1B VK_ESCAPE 01 1B Key_Escape RZKEY_ESC
OK, replying to the email is resulting to a very unreadable post here... sorry for that ;o) And my xls sheet isn't transfered ... mmmh crap...
Your input has been very useful. Thanks!
It was clear to me that the Razer driver would map correctly the "letter" keys to the right LEDs on the keyboard (e.g. the Spanish and German keyboards have, respectively, the Y
and Z
keys in the same place, but only the right LED lights up in the corresponding language), but I didn't know what to expect for the "non-letter" keys.
I hoped that, like the "letter" keys, the "non-letter" keys would also be internally mapped in the same way, but I'm afraid that I'll need to do the mapping myself. Fortunately, your lighting mismatchs (e.g. ^
→ <
, -
→ ß
, and ß
→ ü
) happen also in my spanish keyboard when configured as German.
I'll write up some code and I'll ask you to download a new version of the Sandbox.zip
file for another test. If all goes well, I'll put that code into EliteChroma and publish a new release.
@Andechs75 I think I've nailed it.
Please download the updated version of Sandbox.zip, unzip it as before and run it again.
Please let me know how it goes.
Sorry for the long time passing by. i've done the test, and it looks very nice. VKMap_de-DE_0407-0407-00000407.txt
@Andechs75, Release 1.9.0 is out! Your keyboard (and everyone else's) should behave now.
Feel free to reopen this issue if I missed anything.
Enjoy!
Summary
Some Keys are not working / missaligned. Cause they are all the "special" Keys of my Keyboard (German QWERTZ), I think it's the issue here.
Desired solution
Implement foreign keyboard layouts. (e.G. German)
Additional Context
Thanks for your efford. You have done a great work here!