Subject: Re: US keyboard (Was: Ericsson MC16 (SH3))
To: None <port-hpcsh@netbsd.org>
From: Valeriy E. Ushakov <uwe@ptc.spbu.ru>
List: port-hpcsh
Date: 12/29/2002 02:12:29
--wac7ysb48OaltWcw
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
On Wed, Dec 18, 2002 at 08:12:58 +0300, Valeriy E. Ushakov wrote:
> > On Tue, Dec 03, 2002 at 13:38:58 +0200, Vesa A Norrman wrote:
>
> > > My 680 us keymap seems to be wrong.
> >
> > Mea culpa. The "US" keymap is probably an "International" one.
> > Actual US keyboard lacks several keys, as I learnt the hardway
> > recently when it turned out that the 16MB expansion chip I bought had
> > the US driver in the RAM - suddenly under WinCE I lost my brackets
> > (separate keys on intl keyboard, Fn-accessible only on US).
> >
> > Some pictures of US and intl keyboard can be found at
> > http://snark.ptc.spbu.ru/~uwe/jornada/
>
> So from pictures and from the behavior of my WinCE (that has identity
> crisis after ROM upgrade and thinks it has US keyboard) the
> differences of international vs. us seem to be:
>
>
> Intl US phys scancode row/ scancode
> key key row (intl) /col (us)
> -----------------------------------------------
> ` ~ Fn 41 7/7 184(?) treat as AltGr?
> AltGr / ? 184 4/6 53
>
> / ? missing zxcv 53 8/1 UNK
>
> \ | missing asdf 43 10/2 UNK
>
> [ { \ | qwerty 26 9/3 43
> ] } missing qwerty 27 9/2 UNK
>
[...]
>
> And it also needs a ws keymap that will do:
>
> <Fn> + 1 ~
[...]
>
> And international one needs the mapping for its AltGr latin1 keys.
I have committed these changes. Now selecting US keyboard should give
you US keybaord. To access the few missing keys use this keymap:
----8<--------8<----
# HP Jornada 680 - US keymap
# keycode N = [cmd] plain [shift [altgr [shift-altgr]]]
keycode 2 = 1 exclam asciitilde
keycode 3 = 2 at grave
keycode 4 = 3 numbersign sterling
# XXX: no KS_euro keysym for Fn+4 => euro
keycode 25 = p P braceleft
keycode 39 = semicolon colon bracketleft
keycode 40 = apostrophe quotedbl bracketright
keycode 43 = backslash bar braceright
# <fn> key
keycode 184 = Mode_switch Multi_key
----8<--------8<----
What hpcboot calls "Hungarian" map will now give you an "internationa:
keyboard. The hungarian map was a proper subset my international map,
so I dropped it altogether.
BTW, is there really such a thing as Hungarian or German jornada
kaymap? I mean, do they differ from "international" on the *primary*
layer? I'm attaching a complete "international" layout description,
can people with non-US models check the layout of their keyboards
against it, please.
I'd say layouts that does not differ from wither US or international
on the primary layer should not be listed in hpcboot and handled with
wsconsctl (mapfile entry in /etc/wscons.conf).
SY, Uwe
--
uwe@ptc.spbu.ru | Zu Grunde kommen
http://www.ptc.spbu.ru/~uwe/ | Ist zu Grunde gehen
--wac7ysb48OaltWcw
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="map-intl.txt"
# HP Jornada 680 - International keymap
# keycode N = [cmd] plain [shift [altgr [shift-altgr]]]
keycode 1 = Cmd_Debugger Escape
keycode 2 = 1 exclam exclamdown
keycode 3 = 2 at twosuperior
keycode 4 = 3 numbersign threesuperior
keycode 5 = 4 dollar currency
# XXX: no KS_euro keysym for AltGr+5 => euro
keycode 6 = 5 percent
keycode 7 = 6 asciicircum onequarter
keycode 8 = 7 ampersand onehalf
keycode 9 = 8 asterisk threequarters
# XXX: AltGr+9 => quote single left (not in latin1, no keysym)
keycode 10 = 9 parenleft
# XXX: AltGr+0 => quote single right (not in latin1, no keysym)
keycode 11 = 0 parenright
keycode 12 = minus underscore yen
keycode 13 = equal plus multiply
# NB: "<=" key, map to BackSpace, if you prefer
keycode 14 = Cmd_ResetEmul Delete
keycode 15 = Tab
keycode 16 = q Q dead_grave
keycode 17 = w W dead_tilde
keycode 18 = e E eacute Eacute
keycode 19 = r R registered
keycode 20 = t T thorn THORN
keycode 21 = y Y udiaeresis Udiaeresis
keycode 22 = u U uacute Uacute
keycode 23 = i I iacute Iacute
keycode 24 = o O oacute Oacute
keycode 25 = p P dead_acute
keycode 26 = bracketleft braceleft aring Aring
keycode 27 = bracketright braceright dead_diaeresis
keycode 28 = Return
keycode 29 = Cmd1 Control_L
keycode 30 = a A aacute Aacute
keycode 31 = s S ssharp
keycode 32 = d D eth ETH
keycode 33 = f F guillemotleft
keycode 34 = g G guillemotright
keycode 35 = h H dead_circumflex
keycode 36 = j J dead_abovering
keycode 37 = k K paragraph
keycode 38 = l L oslash Ooblique
keycode 39 = semicolon colon odiaeresis Odiaeresis
keycode 40 = apostrophe quotedbl adiaeresis Adiaeresis
keycode 41 = grave asciitilde division
keycode 42 = Shift_L
keycode 43 = backslash bar notsign
keycode 44 = z Z sterling
keycode 45 = x X cent
keycode 46 = c C copyright
keycode 47 = v V section
keycode 48 = b B plusminus
keycode 49 = n N ntilde Ntilde
keycode 50 = m M mu
keycode 51 = comma less ccedilla Ccedilla
keycode 52 = period greater ae AE
keycode 53 = slash question questiondown
keycode 54 = Shift_R
keycode 56 = Cmd2 Alt_L
keycode 57 = space
keycode 59 = Cmd_Screen0 f1 F1
keycode 60 = Cmd_Screen1 f2 F2
keycode 61 = Cmd_Screen2 f3 F3
keycode 62 = Cmd_Screen3 f4 F4
keycode 63 = Cmd_Screen4 f5 F5
keycode 64 = Cmd_Screen5 f6 F6
keycode 65 = Cmd_Screen6 f7 F7
keycode 66 = Cmd_Screen7 f8 F8
keycode 67 = Cmd_Screen8 f9 F9
keycode 68 = Cmd_Screen9 f10 F10
keycode 87 = f11 F11
keycode 184 = Mode_switch Multi_key
# XXX: use wskbd doesn't do Alt chords, use AltGr instead???
# Alt+Up -> Prior
# Alt+Left -> Home
# Alt+Right -> End
# Alt+Down -> Next
keycode 200 = Up
keycode 203 = Left
keycode 205 = Right
keycode 208 = Down
keycode 211 = Delete
keycode 219 = Meta_L
--wac7ysb48OaltWcw--