Switching Keyboards on Om 2007.2

From Openmoko

(Difference between revisions)
Jump to: navigation, search
m

Revision as of 10:18, 27 August 2008

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?

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

  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
Personal tools

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?

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

  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