klausw / hackerskeyboard

Hacker's Keyboard (official)
https://play.google.com/store/apps/details?id=org.pocketworkstation.pckeyboard
Apache License 2.0
1.88k stars 443 forks source link

Remap querty hardware keyboard -> dvorak #113

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
There is no way to remap the hardware keyboard on my ThinkPad Tablet with the 
shipped software. Since the boot loader is locked we can't change 
/system/usr/keylayout/*kl, so we can't even fix it. Since more and more tablets 
ship with usb hosts, being able to change the hardware keyboard mapping is more 
and more important.

This patch implements a querty->dvorak remapper, so I can connect a qwerty 
hardware usb keyboard and touch-type in dvorak on it. A new preferences setting 
is added to make it optional.

Original issue reported on code.google.com by vbraun.n...@gmail.com on 20 Nov 2011 at 10:37

Attachments:

GoogleCodeExporter commented 8 years ago
Thank you for the contribution, and I like the idea of providing better support 
for hardware keyboards, but this patch seems to be a bit too special-purpose. 
I'd prefer to put this on hold until I finally make progress on customizable 
keymaps, but I definitely want to keep this in mind as a use case that the new 
system should support. In general, language switching should also support 
having a hardware keyboard do the right thing, but this is tricky.

One issue with the current patch is that it appears to assume that the hardware 
keyboard sends keycodes corresponding to a US QWERTY layout, and I don't think 
that's a safe assumption in general.

See also issue 84 (binding hardware keys to actions), issue 87 (Alt key support 
for hardware keyboards), and issue 13 (customizable key maps).

Original comment by Klaus.We...@gmail.com on 23 Nov 2011 at 12:08

GoogleCodeExporter commented 8 years ago
I agree of course that eventually the mapping of hardware keys/buttons should 
be much more customizable. My thoughts were that there should be a few popular 
keymaps, e.g. US dvorak, UK dvorak, UK azerty, and a user-definable keymap 
otherwise for all those wooky flip-out keyboards. It doesn't make sense to 
independently select hardware layout vs. keymap, for example you can't really 
map a German keyboard to ordinary (US) dvorak because the shape of the enter 
key.

Issue 13 seems to be unrelated - software keyboard layout should be 
independently selectable from hardware keymap. I touchtype dvorak but prefer 
querty for hunt&pecking on the soft keyboard - tactile and visual parts of the 
brain are apparently separate :-)

One thing that I only though of later is that I might have assumed honeycomb; 
Before the software keys might have been delivered to onKeyDown/onKeyUp, I just 
don't know for sure.

Original comment by vbraun.n...@gmail.com on 23 Nov 2011 at 10:13

GoogleCodeExporter commented 8 years ago
I don't know if it is the right place to post, but I want to remapp my azerty 
hardware keyboard. I used the patch given and some code from 
http://andruide.free.fr/AzertyKeyboard/ in order to remapp my bluetooth azerty 
keyboard. I know it's not the most beautifull approach to tackle this issue, 
but it works and I can use my hardware keyboard now :) I attach the patch, you 
may find it usefull.

Original comment by vincent....@gmail.com on 31 Dec 2011 at 2:43

Attachments:

GoogleCodeExporter commented 8 years ago
Thanks for the patch, I do plan to support hardware keyboards better but I 
still need to think about the best way to integrate it. I'd prefer to avoid 
having a large collection of ad-hoc remappings built into the code since that 
would turn into a maintenance headache.

Original comment by Klaus.We...@gmail.com on 3 Jan 2012 at 6:30

GoogleCodeExporter commented 8 years ago
Perhaps you can collaborate with the author of External Keyboard Helper. It's 
able to arbitrarily remap both Bluetooth and USB keyboards, including the ASUS 
Transformer series keyboard dock.

Original comment by techgee...@gmail.com on 5 Jul 2012 at 11:35

GoogleCodeExporter commented 8 years ago
I ran into a similar problem with my Asus Eee Pad Transformer Prime. The keys 
printed on the hardware keyboard are german layout, but it sends US keycodes. 
I'm going to try the remapper patch for me.
Maybe it will work for me too, would be nice.

Original comment by gusch...@gmail.com on 8 Sep 2012 at 12:08