As a partial solution...
I've had some success with extkeyboardremapper (AKA laurent2o1o Keyboard). I successfully swapped Q with A by following the translated French instructions.
I haven't got as far as creating a full layout, but I wonder if I could just copy layouts from somewhere in Ubuntu.
Edit: On Ubuntu and probably most other Linux systems, these files are found in:
/usr/share/X11/xkb/symbols/
For non-Linux users, here's the web repo of the source:
http://cgit.freedesktop.org/xkeyboard-config/tree/symbols?h=2.2-branch
The files aren't directly compatible with extkeyboardremapper, but they can serve as a guide for making the k2g.cfg
file. Colemak and Dvorak can be found in the us
file, other files such as gb
just amend the US version it seems.
Edit: Using the X11 keyboard layout files as a guide, I made a k2g.cfg
for Colemak, to complete my solution.
Here's how to use it:
mkdir /sdcard/keyremap
Make this file:
/sdcard/keyremap/s2k.cfg
86 => 773
This is because Android doesn't seem to have a keycode for <LSGT>
, so let's call it 773
for now.
Make this file:
/sdcard/keyremap/k2g.cfg
==== USA - Colemak ====
0 68 ` ~ 0303 ~
0 8 1 ! ¡ ¹
0 9 2 @ º ²
0 10 3 # ª ³
0 11 4 $ ¢ £
0 12 5 % € ¥
0 13 6 ^ ħ Ħ
0 14 7 & ð Ð
0 15 8 * þ Þ
0 16 9 ( ‘ “
0 17 0 ) ’ ”
0 69 - _ – —
0 70 = + × ÷
0 45 q Q ä Ä
0 51 w W å Å
33 f F ã Ã
46 p P ø Ø
48 g G 0328 ~
53 j J đ Đ
49 l L ł Ł
37 u U ú Ú
43 y Y ü Ü
44 ; : ö Ö
0 71 [ { « ‹
0 72 ] } » ›
0 73 \ | ~ ~
0 29 a A á Á
47 r R 0300 ~
32 s S ß ~
34 t T 0301 030B
35 d D 0308 ~
0 36 h H 030C ~
38 n N ñ Ñ
39 e E é É
40 i I í Í
74 o O ó Ó
0 75 ' " õ Õ
0 54 z Z æ Æ
0 52 x X 0302 ~
0 31 c C ç Ç
0 50 v V œ Œ
0 30 b B 0306 ~
42 k K 030A ~
0 41 m M 0304 ~
0 55 , < 0327 ~
0 56 . > 0307 ~
0 76 / ? ¿ ~
0 773 - _ – —
0 62 0020 0020 0020 00A0
==== United Kingdom - Colemak (extension) ====
9 2 " ² ⅛
10 3 £ ³ £
11 4 $ € ¼
75 ' @ 0302 030C
68 ` ¬ | |
73 # ~ 0300 0306
773 \ | | ¦
The prepended 0
's effectively comment out the line. I've commented out all but the necessary lines due to this bug, but if the bug gets fixed, or you use the AltGr characters more than Ctrl shortcuts, then just uncomment them.
US users can cut the UK extension at the end, others will have to replace it with their own.
If you really want to duplicate your Backspace key, you need to add this line to s2k.cfg
:
58 => 67
...but you may find that the backspace function is merely added to the CapsLock key.
Now just install extkeyboardremapper, enable it, and select it!