View source for Switching Keyboards on Om 2007.2

From Openmoko

Jump to: navigation, search

You do not have permission to edit this page, for the following reasons:

  • The action you have requested is limited to users in the group: Administrators.
  • You must confirm your email address before editing pages. Please set and validate your email address through your user preferences.

You can view and copy the source of this page:

Return to Switching Keyboards on Om 2007.2.

Personal tools

Fix Default

To add/change the key layout on the default keypad (I added a > and a / to the 1 key), 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
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[code]

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?

Screenshot of the keyboard applet

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/), 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
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

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:

  1. nohup multitap-pad -d &
  2. 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