As of the last time I was able to check current Android still arbitrarily merges device driver keyboard events for no discernible reason.
The scenario is an external (USB, Bluetooth) keyboard plugged into an Android device, European keyboards tend to have one extra key KEY_102ND compared to a US keyboard. The purpose of this key varies by layout but (of course) it's not just an identical copy of an existing key so it needs to be treated separately and Linux does so. Android takes the Linux kernel's internal key identifiers and lays its own equivalent yet different identifiers on top (presumably for some reason that made sense to the early Android developers). In the process it takes the "extra" key KEY_102ND and maps it to Android's backslash key, even though there's already such a mapping for KEY_BACKSLASH.
And that's doom. Despite having an extensive layout and remapping capability Android has already irrevocably broken these keyboards, because software on top of Android can't tell the two different keys apart. I can scarcely begin to imagine how somebody thought this was a good idea, unless perhaps they had literally never seen a non-US keyboard or used a non-English language.
Posted Mar 13, 2013 21:31 UTC (Wed) by khim (subscriber, #9252)
[Link]
I can scarcely begin to imagine how somebody thought this was a good idea, unless perhaps they had literally never seen a non-US keyboard or used a non-English language.
I'm pretty sure they have seen non-US keyboard and wondered just why this keyboard wastes valuable space and cripples Enter key just to introduce second backslash. Guy from Israel or Russia can do that just as easily as a guy from US, you know: it may surprise you but lots of languages don't need this 102ND key and for them it's just "#@^%%#@(*!@ second backslash".
Keyboard
Posted Mar 13, 2013 22:08 UTC (Wed) by mpr22 (subscriber, #60784)
[Link]
*scratches head* Um, it's American keyboards that have the crippled one-row-high Enter key.
Keyboard
Posted Mar 14, 2013 7:27 UTC (Thu) by khim (subscriber, #9252)
[Link]
You are correct, of course: most US keyboards sacrifice Enter key to make Backspace larger (as if I'm obsessed with deleting stuff). My bad.
European keyboards sacrifice Left Shift size which is even worse: I can still hit small US-style Enter key with my little finger, but small Shift is a disaster since attention is usually on other hand. Ideally I want classic layout similar to this one (with two large Shifts, and large Enter L-shaped Enter) which is rare enough with 101-keys-layout keybords (nowadays they have 104 keys because Microsoft added three keys) and I'm yet to see even a single 102-keys-layout keyboard (with 105 keys) with all three.