Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

German layout Apple Extended Keyboard II M3501 ^ key not working #22

Closed
DOCaCola opened this issue Feb 2, 2013 · 8 comments
Closed

Comments

@DOCaCola
Copy link

DOCaCola commented Feb 2, 2013

I have recently build the adapter and it works well so far. What i noticed is that pressing the ^ key (left from the "1" key) is not being registered by the system. Tried both on a Macbook and my Windows 7 machine.
I booted up my old Centris 650 to confirm this is not a hardware issue with the keyboard. The key is working fine there.

IMG_1152

Using a Teensy 2.0 with latest revision of adb_usb cf1eb8f
All other keys seem to work without issues.

@tmk
Copy link
Owner

tmk commented Feb 3, 2013

Check scan code for the key with hid_listen and let me know. I'll add it to keymap.

@DOCaCola
Copy link
Author

DOCaCola commented Feb 3, 2013

Ah, ok :) Sure, here you go

adb_host_kbd_recv: 0AFF
r/c 01234567
00: 00000000
01: 00100000
02: 00000000
03: 00000000
04: 00000000
05: 00000000
06: 00000000
07: 00000000
08: 00000000
09: 00000000
0A: 00000000
0B: 00000000
0C: 00000000
0D: 00000000
0E: 00000000
0F: 00000000
state: IDLE kind: 00 code: 00d
adb_host_kbd_recv: 8AFF
r/c 01234567
00: 00000000
01: 00000000
02: 00000000
03: 00000000
04: 00000000
05: 00000000
06: 00000000
07: 00000000
08: 00000000
09: 00000000
0A: 00000000
0B: 00000000
0C: 00000000
0D: 00000000
0E: 00000000
0F: 00000000
state: IDLE kind: 00 code: 00u
FAIL SAFE: clear all keys(default layer).
keys: 00 00 00 00 00 00  mods: 00
keys: 00 00 00 00 00 00  mods: 00
NEXT: IDLE -> IDLE

@DOCaCola
Copy link
Author

DOCaCola commented Feb 3, 2013

Now i took the time to try all keys. I noticed that the = key on the numeric keyboard seems to be mapped to something else. Instead it of = it outputs an ´ (the key left from backspace on the german keyboard)
This one outputs:

r/c 01234567
00: 00000000
01: 00000000
02: 00000000
03: 00000000
04: 00000000
05: 00000000
06: 00000000
07: 00000000
08: 00000000
09: 00000000
0A: 01000000
0B: 00000000
0C: 00000000
0D: 00000000
0E: 00000000
0F: 00000000
state: IDLE kind: 05 code: 2Ed
keys: 2E 00 00 00 00 00  mods: 00
keys: 2E 00 00 00 00 00  mods: 00
NEXT: IDLE -> PRESSING
adb_host_kbd_recv: D1FF
r/c 01234567
00: 00000000
01: 00000000
02: 00000000
03: 00000000
04: 00000000
05: 00000000
06: 00000000
07: 00000000
08: 00000000
09: 00000000
0A: 00000000
0B: 00000000
0C: 00000000
0D: 00000000
0E: 00000000
0F: 00000000
state: PRESSING kind: 06 code: 2Eu
keys: 00 00 00 00 00 00  mods: 00
keys: 00 00 00 00 00 00  mods: 00
NEXT: PRESSING -> IDLE
FAIL SAFE: clear all keys(default layer).
keys: 00 00 00 00 00 00  mods: 00
keys: 00 00 00 00 00 00  mods: 00
NEXT: IDLE -> IDLE```

@tmk
Copy link
Owner

tmk commented Feb 3, 2013

Thank you for the info.

I pushed patch into master branch. commit: 9a72c7b
This fix assigns 'Non-US backslash' HID code for the key on left of 1 and includes some other ISO/JIS keys support.

As for second problem, = key on keypad generated 'Keyboard =' HID code(0x2E) but 'Keypad ='(0x67) now, though this code may not work on Windows.

I have no ADB keyboard in hand now and I can't test this fix.

@DOCaCola
Copy link
Author

DOCaCola commented Feb 3, 2013

Looking good. The ^ key now works as expected. Thanks :)
Yes, the = key on the numeric keyboard doesn't work on Windows, but outputs correctly on the macbook. I guess this is acceptable.

@DOCaCola
Copy link
Author

DOCaCola commented Feb 3, 2013

one more thing :)
First of all, i guess that the Alt and Apple Keys are switched is intended to give the Keyboard a more Windows like layout.
That aside, there seems to be an issue with the right Alt Gr key. It doesn't seem to be detected as such. I am not able to insert special characters on Windows. Example: ´Alt Gr + ß´ should output \ (backslash) on the German keyboard under Windows. "Alt Gr" seems to act as another Alt key.
This issue is specific to Windows, as OS X seems to treat both Alt keys equal in that regard.
Here the output from the right Apple key (which acts as Alt in the current adb_usb build)

adb_host_kbd_recv: 37FF
r/c 01234567
00: 00000000
01: 00000000
02: 00000000
03: 00000000
04: 00000000
05: 00000000
06: 00000001
07: 00000000
08: 00000000
09: 00000000
0A: 00000000
0B: 00000000
0C: 00000000
0D: 00000000
0E: 00000000
0F: 00000000
state: IDLE kind: 07 code: E2d
keys: 00 00 00 00 00 00  mods: 04
keys: 00 00 00 00 00 00  mods: 04
adb_host_kbd_recv: B7FF
r/c 01234567
00: 00000000
01: 00000000
02: 00000000
03: 00000000
04: 00000000
05: 00000000
06: 00000000
07: 00000000
08: 00000000
09: 00000000
0A: 00000000
0B: 00000000
0C: 00000000
0D: 00000000
0E: 00000000
0F: 00000000
state: IDLE kind: 08 code: E2u
keys: 00 00 00 00 00 00  mods: 00
keys: 00 00 00 00 00 00  mods: 00
FAIL SAFE: clear all keys(default layer).
keys: 00 00 00 00 00 00  mods: 00
keys: 00 00 00 00 00 00  mods: 00
NEXT: IDLE -> IDLE```

@tmk
Copy link
Owner

tmk commented Feb 3, 2013

ADB keyboard has no distinct keycode between right and left Command keys unlike Option and Control keys..
You should place Alt on both Option keys to get AltGr key.

On my keymap I put Alt on Command keys, as a result, both Command keys send left Alt keycode.

@DOCaCola
Copy link
Author

DOCaCola commented Feb 3, 2013

Thanks for the clarification. I have remapped those keys and it works now.
Thanks a lot for your help!

@DOCaCola DOCaCola closed this as completed Feb 3, 2013
lxol pushed a commit to lxol/tmk_keyboard that referenced this issue Dec 14, 2015
added mouse scroll keymapping
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants