Skip to contentSkip to conversation

OLPC specific keymaps

kbd Alexey Gladkov 2 participants 3 messages Jan 10, 2008 – Jan 11, 2008 2 messages not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): 20080110002539.GA32184@mette

#2 lore raw
Quoted 10 lines · Andries E. Brouwer
Quoted 9 lines · Bernardo Innocenti

Hello,

the OLPC comes with a physical keyboard layout which is slightly different from the traditional PC.

We also have a number of tweaks and additions on our international keyboard maps. This is all taken care of in the xkb keyboards.

Quoted 6 lines
Quoted 6 lines

So far, we did not bother too much about updating the console keymaps, because this is not what the children would be using daily. However, some maps need massaging even to get common ASCII punctuation ('`~/) right.

I'm attaching two modified maps we modified as an example.

Please, send me example too. :)

Quoted 9 lines
Quoted 9 lines

Now I'm wondering how we could integrate such changes upstream. Shall we create an olpc directory at the same level of i386 or at the level of qwerty?

Fedora specific: shall we branch this package for olpc? I'd be willing to merge my changes in devel if the current maintainer agrees on it.

Quoted 6 lines
Quoted 4 lines
Signature · 3 lines
 \___/
 |___|   Bernardo Innocenti - http://www.codewiz.org/
  \___\  One Laptop Per Child - http://www.laptop.org/

The kbd package was taken over by Alexey Gladkov <[email protected]>.

I'm adding kbd maillist on Cc.
Maybe we will discuss it there ?

Quoted 11 lines

If I conjecture that you use a more or less standard Linux kernel for the OLPC, and use PC-compatible hardware, then maybe your keyboard belongs under i386.

(I would like to play with one - is it already possible for someone in Europe to buy them?)

Andries

Signature · 1 line
Rgrds, legion
#3 lore raw
Quoted 1 line · Alexey Gladkov

Please, send me example too. :)

Attached. If they seem ok, please feel free to add them to your upstream package in i386/olpc/.

Quoted 2 lines

I'm adding kbd maillist on Cc.
Maybe we will discuss it there ?

Sure. For completeness, I'm appending here the other branch of this thread:

---cut---

Quoted 3 lines · Andries E. Brouwer

If I conjecture that you use a more or less standard Linux kernel for the OLPC, and use PC-compatible hardware, then maybe your keyboard belongs under i386.

Ok. I don't fully understand how the lookup works in loadkeys. Do we have to prepend "olpc-" to the maps we customize?

Is there a way to make this search happen automatically and fall back to qwerty if the olpc variant doesn't exist?

For xkb, we have moved the layout configuration entirely in the manufacturing data in ROM, so we'd not have to hardcode keyboard tables in all OSes that support OLPC.

Signature · 3 lines
 \___/
 |___|   Bernardo Innocenti - http://www.codewiz.org/
  \___\  One Laptop Per Child - http://www.laptop.org/

! Spanish keymap for OLPC; based upon es.map
! Walter Bender (3 January 2008)
!
charset "iso-8859-15"
keymaps 0-2,4,6,8-9,12
include "qwerty-layout"
include "linux-with-alt-and-altgr"
strings as usual

keycode 1 = Escape
alt keycode 1 = Meta_Escape
keycode 2 = one exclam bar
alt keycode 2 = Meta_one
keycode 3 = two quotedbl at
control keycode 3 = nul
alt keycode 3 = Meta_two
keycode 4 = three grave numbersign
control keycode 4 = Escape
alt keycode 4 = Meta_grave
keycode 5 = four dollar
alt keycode 5 = Meta_four
keycode 6 = five percent asciicircum
control keycode 6 = Control_asciicircum
alt keycode 6 = Meta_five
keycode 7 = six ampersand notsign
alt keycode 7 = Meta_six
keycode 8 = seven slash backslash
control keycode 8 = Control_backslash
alt keycode 8 = Meta_seven
keycode 9 = eight parenleft
control keycode 9 = Delete
alt keycode 9 = Meta_eight

keycode  10 = nine             parenright
	alt     keycode  10 = Meta_nine
keycode  11 = zero             equal
	alt     keycode  11 = Meta_equal
keycode  12 = apostrophe       question
	alt     keycode  12 = Meta_apostrophe
keycode  13 = exclamdown questiondown
keycode  14 = Delete
	control keycode  14 = Control_underscore
	alt     keycode  14 = Meta_Delete
keycode  15 = Tab
	alt     keycode  15 = Meta_Tab
keycode  18 = e		       E		euro
keycode  26 = apostrophe       diaeresis      degree
keycode  27 = bracketleft     braceleft
	control keycode  27 = Escape
	alt     keycode  27 = Meta_bracketleft
keycode  28 = Return
	alt     keycode  28 = Meta_Control_m
keycode  29 = Control
keycode  39 = +ntilde +Ntilde
keycode  40 = plus     asterisk		asciitilde

control keycode 40 = Control_g
alt keycode 40 = Meta_asciitilde
keycode 41 = masculine ordfeminine backslash
control keycode 41 = Control_backslash
alt keycode 41 = Meta_backslash
keycode 42 = Shift
keycode 43 = bracketright braceright
control keycode 43 = Control_bracketright
alt keycode 43 = Meta_bracketright
keycode 51 = comma semicolon
alt keycode 51 = Meta_comma
shift alt keycode 51 = Meta_semicolon

keycode  52 = period       colon
	alt     keycode  52 = Meta_period
keycode  53 = minus      underscore
	control keycode  53 = Control_underscore
	alt     keycode  53 = Meta_minus
keycode  54 = Shift
keycode  56 = Alt
keycode  57 = space

control keycode 57 = nul
alt keycode 57 = Meta_space
keycode 211 = less greater
alt keycode 211 = Meta_less
shift alt keycode 211 = Meta_greater

! Portuguese keymap for OLPC; based upon pt.map
! Walter Bender (8 January 2008)
!
charset "iso-8859-15"
keymaps 0-2,4,6,8,12
alt_is_meta
include "qwerty-layout"
include "linux-with-alt-and-altgr"
strings as usual

keycode 1 = Escape
alt keycode 1 = Meta_Escape

keycode   2 = one             exclam 		onesuperior
keycode   3 = two             at		twosuperior
keycode   4 = three           numbersign	threesuperior
keycode   5 = four            dollar           
keycode   6 = five            percent		cent
keycode   7 = six             dead_diaeresis    notsign
keycode   8 = seven           ampersand
keycode   9 = eight           asterisk
keycode  10 = nine            parenleft        
keycode  11 = zero            parenright       

keycode 12 = minus underscore
control keycode 12 = Control_underscore
alt keycode 12 = Meta_minus
keycode 13 = equal plus section
alt keycode 13 = Meta_equal

keycode  14 = Delete
keycode  15 = Tab
keycode  18 = e		       E		euro
keycode  26 = apostrophe       grave		dead_acute       dead_grave       

alt keycode 26 = Meta_apostrophe
keycode 27 = bracketleft braceleft ordfeminine
control keycode 27 = Escape
alt keycode 27 = Meta_bracketleft
keycode 28 = Return
alt keycode 28 = Meta_Control_m
keycode 29 = Control
shift keycode 29 = Compose
keycode 39 = +ccedilla Ccedilla
keycode 40 = asciitilde asciicircum dead_tilde dead_circumflex
control keycode 40 = Control_asciicircum
alt keycode 40 = Meta_asciitilde
keycode 41 = apostrophe quotedbl
alt keycode 41 = Meta_grave
keycode 42 = Shift
keycode 43 = bracketright braceright masculine
control keycode 43 = Control_bracketright
alt keycode 43 = Meta_bracketright

keycode  44 = z		       Z		bar
keycode  51 = comma     less       

alt keycode 51 = Meta_comma
keycode 52 = period greater backslash
control keycode 52 = Control_backslash
alt keycode 52 = Meta_period
keycode 53 = semicolon colon
alt keycode 53 = Meta_semicolon

keycode  54 = Shift
keycode  56 = Alt
keycode  57 = space

control keycode 57 = nul
keycode 211 = slash question
alt keycode 211 = Meta_slash
compose 'e' '=' to '�'
compose '-' 'e' to '�'
compose '-' 'E' to '�'
compose '=' 'E' to '�'