Keyboards and key bindings

From OLPC
Revision as of 18:15, 5 April 2008 by CharlesMerriam (talk | contribs) (Add information on toggling languages.)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
This article is a stub. You can help the OLPC project by expanding it.
Arabic keyboard layout
Close-up of an old prototype
Keyboard and touchpad (low-resolution image)

Hardware

The ALPS Electric KGDMFA001 provides both Touch Pad/Tablet and keyboard.

80+ keys, 1.0mm stroke; sealed rubber-membrane key-switch assembly. (from Hardware specification#Integrated_peripherals).

Specification: File:KGDMFA001-non-confidential.pdf (towards bottom).

Keycodes for Other Buttons

As of 15:22, 19 June 2007 (EDT) the handheld-mode keypads bind to

Right-hand side: up/down/left/right
Left-hand side: KP_PAGE_UP/KP_PAGE_DOWN/KP_END/KP_HOME

See also Pygame_wrapper#Keyboard_and_Mouse.

Layouts

We have a single keyboard model (the hardware; geometry and keycodes), but many keyboard layouts, switchable in software. The default layout for any country will match the printing on the keys. Both the model and the layouts are (or will be) listed in /usr/share/X11/xkb/rules/base.xml .

As of October 2007, the was no xkb geometry file.

Setting up to be able to switch keyboard layouts currently requires editing /etc/X11/xorg.conf, as described at Customizing NAND images#Keyboard. The keyboard switching key is the times-divide key in the Latin keytops, but with a different graphic in some keytop image sets for other alphabets.

For those switching between languages, one can set up language groups to toggle between. For example, Ralph Mack found this helpful in using the Right-alt key to toggle between Arabic and French.

setxkbmap -display :0 fr,ara -option grp:toggle

See also