Keyboard Debate
From Openmoko
Summary of the problem
Om 2008.8 uses Qtopia for its phone stack. Qtopia has a build-in keyboard primarily designed to compose SMS in English. This keyboard is very impractical to use with a terminal or enter an URL.
More details..., list of all keyboard bugs in the defect tracking system.
List of available keyboards
Qtopia keyboard
The Qtopia keyboard build-in Om 2008.8. See also the documentation at Trolltech
Matchbox keyboard
The matchbox keyboard.Illume keyboard
The illume virtual keyboard a.k.a. Raster's keyboard.
Probably looking like this or like that.
See also Illume#Virtual_Keyboard (which would need to be completed ;)
qwo Quikwriting for Openmoko keyboard
It is hard to call this a key-board, it looks more like a pair of Ouija board than a matrix of buttons. But as far as an touchscreen input method for letters, this one allows the stylus to remain on the screen and move continuously. Needs a few hours of practice before writing words fluently.
Vkbd system
The vkbd system.
How to use the Qtopia keyboard shipped with Om 2008.8 ?
Summary:
- Slide finger left = backspace.
- Slide finger right = space.
- Slide finger up/down = changes between lowercase/uppercase/numbers/special characters.
- The 'Enter' key is bottom right on the special characters page
- Hovering over a letter for more than 2 seconds activates zoom mode, allowing you to type specific letters without prediction.
Detailed version: see How to use the Qtopia keyboard.
How to have a toggle button to make the keyboard appear/disappear ?
Short answer: In 2008.8, opkg install illume-config. In testing, edit '/etc/enlightenment/default_profile' to use illume theme instead of 'asu'. Long answer: here.
How to install the matchbox keyboard ?
Short answer: opkg install matchbox-keyboard-applet matchbox-keyboard-inputmethod Long answer: here.
How to install the illume (Raster's) keyboard ?
Short answer: opkg install illume-config-illume
Detailed answer:
opkg install illume-config # Get the qwerty button if not there yet
echo export QTOPIA_NO_VIRTUAL_KEYBOARD=1 >> /etc/X11/Xsession.d/89qtopia # Turn off built-in qtopia keyboard
opkg install illume-config-illume
rm -rf ~/.e/e/config/illume # Purge E's cache
/etc/init.d/xserver-nodm restart # Restart X
Then switch keyboard from "None" to "Default" in Illume's preferences.
How to turn off the Qtopia keyboard ?
Short answer: Add the line export QTOPIA_NO_VIRTUAL_KEYBOARD=1 into the file /etc/X11/Xsession.d/89qtopia.
Warning: Even when you install another keyboard, if you do not turn off the Qtopia keyboard it will come back on the top to bite you trollishly. References:
Comment on ticket 1864, and untested proposed
patch to qpe.
How to change the keyboards layout ?
TBD
matchbox
See instructions on the Change matchbox keyboard layout page.
illume
Install illume-keyboards-terminal package :) they are all recommended ones for illume.
dvorak layout Bigger numbers layout and Numbers with Function keys layout. Good for playing games in ScummVM.
How to change the dictionary used by the predictive keyboards ?
Qtopia keyboard
You can compile your own wordlist or use precompiled wordlists.
From the Openwall project
This method retrieves wordlists with lower case words only, not including proper names. This is not sufficient for languages with capitalized nouns, such as german.
Precompiled openwall words.dawg can be found at: http://alasal.be/openmoko/keyboard .
To compile the openwall wordlist on your Linux box:
wget http://www.3v1n0.net/openmoko/qtopia-italian-keyboard.tar.bz2
tar xvf qtopia-italian-keyboard.tar.bz2
wget ftp://ftp.mathematik.uni-marburg.de/pub/mirror/openwall/wordlists/languages/***YourLanguageHere***/lower.gz
gunzip lower.gz
./qdawggen -d lang_LANG lower
mv lang_LANG/lower.dawg words.dawg
Other sources
A better german wordlist, including proper names and nouns, can be downloaded from http://www.fragcom.de/server/fragcom_words . It is based on the Debian package "wngerman".
Installing the words.dawg file
First, move the English dictionary out of the way, on your Neo: cd /opt/Qtopia/etc/dict/ cp -r en_EN lang_LANG Second, back on your Linux box, send the dictionary (overwriting the existing words.dawg in the new directory): scp words.dawg root@192.168.0.202:/opt/Qtopia/etc/dict/lang_LANG/words.dawg Third, edit /opt/Qtopia/etc/default/Trolltech/locale.conf to change the language [Language] InputLanguages = lang_LANG Language = lang_LANG Fourth, restart X or reboot your Neo.
Illume keyboard
The Terminal layout has an empty dictionary. The words you type are entered automatically in the dictionary.
To add another language you have to do the following steps:
- Get a dictionary file from your computer.
On Debian/Ubuntu systems, it is located in /usr/share/dict Here is a Portuguese dictionary for OpenMoko’s Illume keyboard.
To add a dictionary you can find them by typing : apt-cache search wordlist|grep ^w|sort and install it on your computer with : apt-get install wfrench (replace french with your language)
- Copy the dictionary to your freerunner in /usr/lib/enlightenment/modules/illume/dicts/
for example do : scp /usr/share/dict/french root@192.168.0.202:/usr/lib/enlightenment/modules/illume/dicts/French.dic
- Now you can choose your language in the upper left corner of the keyboard !
Other keyboards
Matchbox has no predictive mode (to be confirmed ?).
How to toggle the predictive mode on and off ?
TBD
How to make Qtopia keyboards and illume/raster keyboard coexist ?
TBD
Your short-term options
- Turn off the Qtopia keyboard and install the matchbox one instead.
- Keep the Qtopia keyboard, let go (for a while) the desire to use the terminal locally, login remotely via ssh when you need.
- Get an external keyboard, USB or Bluetooth, light and foldable if you want.
- Switch to 2007.2 (but then similar issues arise : Switching Keyboards on Om 2007.2), FSO or Debian.
- Patch Qtopia so that it plays nice with other keyboards, send upstream, meanwhile recompile and provide a package.
PS: Complaining that management does not listen to the users needs is not a productive option.
Perspectives for long-term resolution
On August 27th 2008, Marek from Openmoko inc. announced the intention to focus on the low-level layers. Future "base system" distribution may not include any phone stack at all.