Switching Keyboards on Om 2007.2
From Openmoko
Contents |
Fix Default
Due to a bug, the default keyboard supplied on the 2007.2 doesn't allow you to enter the "/" or "\" characters, which should be on the same key (0?) as "+". You can instead add these characters to other keys, in this example ">" and "/" are added to the 1 key. You may also insert the tab character \t, which provides tab completion. The | character may also be useful. Edit /etc/multitap-pad/im-multipress.conf:
[keys] KP_0 = +;=;/;\\ KP_1 = .;,;/;>;-;?;!;@;:;(;) KP_2 = a;b;c;2 KP_3 = d;e;f;3 KP_4 = g;h;i;4 KP_5 = j;k;l;5;\t KP_6 = m;n;o;6 KP_7 = p;q;r;s;7 KP_8 = t;u;v;8 KP_9 = w;x;y;z;9 KP_10 = A;B;C;2 KP_11 = D;E;F;3 KP_12 = G;H;I;4 KP_13 = J;K;L;5 KP_14 = M;N;O;6 KP_15 = P;Q;R;S;7 KP_16 = T;U;V;8 KP_17 = W;X;Y;Z;9
The buggy key is KP_0 in the above file.
The ; character is also missing. You can add this character by adding ;\; to any of the lines above.
Matchbox keyboard
Another keyboard is available: matchbox-keyboard. It is a full QWERTY keyboard. This howto is based on a blog entry which can be found here
What does the keyboard look like?
Considerations
Pros:
- All keys can be generated
- Takes up less space than the keypad (multitap-pad), leaving more space for the application
Cons:
- You pretty much have to use a stylus. With difficulty you can hit keys with the corner of a fingernail.
How to install it?
If you use a ScaredyCat release (http://buildhost.automated.it/OM2007.2/) or Om200.8.4, use the following:
opkg remove -force-depends multitap-pad opkg install matchbox-keyboard-inputmethod opkg install matchbox-keyboard-im opkg install matchbox-keyboard-applet
Otherwise, you'll have to download the ipk files from here. Assuming you have a working internet connection on your Freerunner, you can do the following:
cd /tmp mkdir matchbox-keyboard cd matchbox-keyboard wget http://www.ginguppin.de/files/keyboard-ipk.tar.bz2 tar -jxf keyboard-ipk.tar.bz2 opkg remove -force-depends multitap-pad opkg install matchbox-keyboard-inputmethod*.ipk opkg install matchbox-keyboard-im*.ipk opkg install matchbox-keyboard-applet*.ipk cd .. rm -rf matchbox-keyboard
After that you'll have to restart the X server:
/etc/init.d/xserver-nodm restart
How to add a keyboard toggle button
To add a button to enable showing / hiding the keyboard, edit /etc/matchbox/session. In the list of applets after --end-applets, add keyboard, and restart your X server
How to switch between matchbox-keyboard and multitap-pad
If you want to keep the multitap keyboard, but also be able to start up the matchbox-keyboard, you can follow these ugly instructions:
First you must install matchbox-keyboard.
opkg install matchbox-keyboard
Do the following (from the terminal or an ssh session with DISPLAY=:0.0):
killall multitap-pad matchbox-keyboard > /dev/null 2>&1 &
(If you type the above commands with multitap, you have to leave off the redirection of matchbox-keyboard output, since several of the keys you need are missing.)
Caveats: When you start the matchbox-keyboard, it stays up all the time. This will (among other things) prevent you from unlocking, since the keyboard covers the openmoko logo at the bottom of the lock screen. You will need to:
- nohup multitap-pad -d &
- killall matchbox-keyboard
to close it down, and at least get the matchbox keyboard going again. You should do that any time you're going to leave the neo alone for any length of time, so you can unlock it later.
To make sure you don't end up removing all your keyboard input capability, you can create a new .desktop file in /usr/share/applications/ for starting and closing the keyboard. This is pretty easy to do by copying and editing an existing .desktop file.
Switch back to the original Openmoko keypad
If you for whatever reason need to switch back, here are the steps:
opkg remove matchbox-keyboard-inputmethod matchbox-keyboard-im matchbox-keyboard-applet opkg install multitap-pad
Comment or delete the following lines in /etc/gtk-2.0/gtk.immodules :
#"/usr/lib/gtk-2.0/2.10.0/immodules/libmb-im-invoker.so" #"matchbox-im-invoker" "Virtual Keyboard" "" "" "*"
Now restart the xserver:
/etc/init.d/xserver-nodm restart