Hello!

I have some comments and proposals on Angstrom keyboard handling.

First, I have improved the keymap for the Zaurus C3x00 series and I
would like to hear any comments on it. The improved keymap is attached
to this message. What have changed:

1. Added Fn+1..0 as F1...F10. This gets propagated into X11 nicely and
even Shift+Fn+# works as Shift+F#, as expected.
2. Fixed the Del key to actually work. The "Delete" keyword is actually
a synonym of BackSpace so Del never worked here. The correct keyword is
"Remove" which maps correctly to X_Delete in X11.
3. I found impossible to enter the ascii grave character (`) from
keyboard, so I added Fn+q to enter the grave character.
4. Mapped Fn+p to Insert, as there's no Ins key on the keyboard in
general. It's just below Del so it's more or less logic and handy.
5. I have mapped Home and End to Fn+Left and Fn+Right, just like Fn+Up
maps to PgUp and Fn+Down maps to PgDown.
6. Changed the key between "Alt" and "-" (the one with two hieroglyphs
separated by a slash) to map to "Do" key which is translated to
XK_Execute in X11. There is little use for a second Control key, maybe
we can find a use for a Execute key. In general, I have some ideas
regarding this key, more about it later.

Now some console-only improvements (these aren't picked up by X11):

1. Moved console switching combinations from Ctrl+Alt+1..4 to
Fn+Control+1..0, e.g. you can switch to one of 10 consoles now. The
Ctrl+Alt+# combinations are handled internally by kernel for debug
things in current kernel (SysRq).
2. Fn+Control+Left/Right will switch to previous/next console.
Previously that was Fn+Left/Right which is Home/End now, besides I
wanted to make all console-only hotkeys all stay on Fn+Control+...,
this is somewhat easier to remember. Perhaps keylaunchrc will have to
be modified to match this combination as well, however keylaunch
doesn't work for me for some reason (?) although it's loaded, but none
of the hotkeys do anything.
3. Added Fn+Control+Up to scroll text console up, Fn+Control+Dn
to scroll text console down.

I'm also tempted to remove all "compose" entries at the end of the
keymap as there's no "Compose" key defined anyway (Menu?) so nobody can
use them anyways.

--------

Now as far as I understand, xserver-kdrive doesn't support the Xkb
extension, so as-of-today it's impossible to use the keyboard to enter
national characters for languages with own alphabet (greek, cyrillic,
arabic and so on). As a hack you can add some accent characters for
languages based on the latin script (I see the keymap-locales for
German and Finnish), if you have just a few additional symbols to enter
and it happens that Fn+some char isn't already occupied by something.

I think that we should think of some way to solve this problem
in a general enough way so that people can use it for as many
languages as possible.

The traditional approach in many languages is to have some key (I'm
thinking of the Execute key I was talking above) which will switch your
keyboard between Latin/Native modes. In X11 this key is called
ISO_Next_Group, however as far as I understand X11 without Xkb doesn't
understand keyboard groups in general. So the only solution I see now
is to use some X11 app which will modify the keymap when you press some
key (e.g. Execute, or Control+Shift or Alt+Shift etc etc) via xmodmap,
just like people did in X11R5 long time ago, when there was no Xkb. I
can dig into some old X11 archives and find something suitable,
perhaps it will have to be adapted to suit our needs, I will do that if
required.

--------

Also maybe it would make sense to review the mapping of the Calendar,
Address, Mail, Home, Menu keys for the C3x00 series. They are mapped to
random functional keys right now, but the most correct approach is to
map them to XF86Calendar, XF86Address, XF86Mail, XF86Home, XF86Menu
symbols. I can see that there are already xmodmap bindings to these
symbols for other PDAs (in /etc/X11/), how much will broke if the same
will be done for Zaurus C3x00 ?

-- 
Andrew

P.S. Is it possible to declare the mime type
"application/pgp-signature" valid for the list, I have all my messages
automatically signed and they're bounced back with "The message's
content type was not explicitly allowed". This is a repost, so I'm
sorry if both will sneak.
# Default kernel keymap. This uses 8 modifier combinations.
keymaps 0-2,4-6,8,12

keycode   1 =
keycode   2 = one              exclam
        altgr keycode 2 = F1
        altgr control keycode  2 = Console_1
keycode   3 = two              quotedbl
        altgr keycode 3 = F2
        altgr control keycode  3 = Console_2
keycode   4 = three            numbersign
        altgr keycode 4 = F3
        altgr control keycode  4 = Console_3
keycode   5 = four             dollar
        altgr keycode 5 = F4
        altgr control keycode  5 = Console_4
keycode   6 = five             percent
        altgr keycode 6 = F5
        altgr control keycode  6 = Console_5
keycode   7 = six              ampersand
        altgr keycode 7 = F6
        altgr control keycode  7 = Console_6
keycode   8 = seven            apostrophe
        altgr keycode 8 = F7
        altgr control keycode  8 = Console_7
keycode   9 = eight            parenleft
        altgr keycode 9 = F8
        altgr control keycode  9 = Console_8
keycode  10 = nine             parenright
        altgr keycode 10 = F9
        altgr control keycode 10 = Console_9
keycode  11 = zero             asciitilde
        altgr keycode 11 = F10
        altgr control keycode 11 = Console_10
keycode  12 = minus            at
        altgr keycode 12 = at
keycode  13 =
keycode  14 = BackSpace
        altgr keycode 14 = Remove
keycode  15 = Tab
        altgr keycode 15 = Caps_Lock
keycode  16 = q
        altgr keycode 16 = grave
keycode  17 = w
        altgr keycode 17 = asciicircum
keycode  18 = e
        altgr keycode 18 = equal
keycode  19 = r
        altgr keycode 19 = plus
keycode  20 = t
        altgr keycode 20 = bracketleft
keycode  21 = y
        altgr keycode 21 = bracketright
keycode  22 = u
        altgr keycode 22 = braceleft
keycode  23 = i
        altgr keycode 23 = braceright
keycode  24 = o
keycode  25 = p
        altgr keycode 25 = Insert
keycode  26 =
keycode  27 =
keycode  28 = Return
keycode  29 = Control
keycode  30 = a
keycode  31 = s
keycode  32 = d
keycode  33 = f
        altgr keycode 33 = backslash
keycode  34 = g
        altgr keycode 34 = semicolon
keycode  35 = h
        altgr keycode 35 = colon
keycode  36 = j
        altgr keycode 36 = asterisk
keycode  37 = k
    altgr keycode 37 = backslash
keycode  38 = l
        altgr keycode 38 = bar
keycode  39 =
keycode  40 =
keycode  41 =
keycode  42 = Shift
keycode  43 =
keycode  44 = z
keycode  45 = x
keycode  46 = c
keycode  47 = v
keycode  48 = b
        altgr keycode 48 = underscore
keycode  49 = n
keycode  50 = m
keycode  51 = comma             slash
        altgr keycode 51 = less
keycode  52 = period           question
        altgr     keycode  52 = greater
keycode  53 =
keycode  54 = Shift
keycode  55 =
keycode  56 = Alt
keycode  57 = space            space
        control keycode  57 = nul
keycode 59 = F9
keycode 60 = F10
keycode 61 = AltGr
keycode 62 = Escape
keycode 63 = Return
keycode 64 = Escape
keycode 65 = Down
keycode 66 = Up
keycode 67 = Control
keycode 68 = F13
keycode 79 = F15
keycode 80 = F16
keycode 82 = F17
keycode 87 = Return
keycode 88 = F11
keycode 97 = Do
keycode 99 = F12
keycode 103 = Up
        altgr keycode 103 = PageUp
        altgr control keycode 103 = Scroll_Backward
keycode 105 = Left
        altgr keycode 105 = Home
        altgr control keycode 105 = Decr_Console
keycode 106 = Right
        altgr keycode 106 = End
        altgr control keycode 106 = Incr_Console
keycode 108 = Down
        altgr keycode 108 = PageDown
        altgr control keycode 108 = Scroll_Forward

# LCD Softkeys as represented by zaurusd        
keycode 82 = F5 
keycode 79 = F15                # Home
keycode 80 = F6
keycode 81 = F16                # Email
keycode 75 = F7
keycode 76 = F17                # Addresses
keycode 77 = F8
keycode 71 = F18                # Calendar
keycode 72 = F9
keycode 73 = F19                # Book
keycode 78 = F10

string F1 = "\033[[A"
string F2 = "\033[[B"
string F3 = "\033[[C"
string F4 = "\033[[D"
string F5 = "\033[[E"
string F6 = "\033[17~"
string F7 = "\033[18~"
string F8 = "\033[19~"
string F9 = "\033[20~"
string F10 = "\033[21~"
string F11 = "\033[23~"
string F12 = "\033[24~"
string F13 = "\033[25~"
string F14 = "\033[26~"
string F15 = "\033[28~"
string F16 = "\033[29~"
string F17 = "\033[31~"
string F18 = "\033[32~"
string F19 = "\033[33~"
string F20 = "\033[34~"
string Find = "\033[1~"
string Insert = "\033[2~"
string Remove = "\033[3~"
string Select = "\033[4~"
string Prior = "\033[5~"
string Next = "\033[6~"
string Macro = "\033[M"
string Pause = "\033[P"
compose '`' 'A' to 'À'
compose '`' 'a' to 'à'
compose '\'' 'A' to 'Á'
compose '\'' 'a' to 'á'
compose '^' 'A' to 'Â'
compose '^' 'a' to 'â'
compose '~' 'A' to 'Ã'
compose '~' 'a' to 'ã'
compose '"' 'A' to 'Ä'
compose '"' 'a' to 'ä'
compose 'O' 'A' to 'Å'
compose 'o' 'a' to 'å'
compose '0' 'A' to 'Å'
compose '0' 'a' to 'å'
compose 'A' 'A' to 'Å'
compose 'a' 'a' to 'å'
compose 'A' 'E' to 'Æ'
compose 'a' 'e' to 'æ'
compose ',' 'C' to 'Ç'
compose ',' 'c' to 'ç'
compose '`' 'E' to 'È'
compose '`' 'e' to 'è'
compose '\'' 'E' to 'É'
compose '\'' 'e' to 'é'
compose '^' 'E' to 'Ê'
compose '^' 'e' to 'ê'
compose '"' 'E' to 'Ë'
compose '"' 'e' to 'ë'
compose '`' 'I' to 'Ì'
compose '`' 'i' to 'ì'
compose '\'' 'I' to 'Í'
compose '\'' 'i' to 'í'
compose '^' 'I' to 'Î'
compose '^' 'i' to 'î'
compose '"' 'I' to 'Ï'
compose '"' 'i' to 'ï'
compose '-' 'D' to 'Ð'
compose '-' 'd' to 'ð'
compose '~' 'N' to 'Ñ'
compose '~' 'n' to 'ñ'
compose '`' 'O' to 'Ò'
compose '`' 'o' to 'ò'
compose '\'' 'O' to 'Ó'
compose '\'' 'o' to 'ó'
compose '^' 'O' to 'Ô'
compose '^' 'o' to 'ô'
compose '~' 'O' to 'Õ'
compose '~' 'o' to 'õ'
compose '"' 'O' to 'Ö'
compose '"' 'o' to 'ö'
compose '/' 'O' to 'Ø'
compose '/' 'o' to 'ø'
compose '`' 'U' to 'Ù'
compose '`' 'u' to 'ù'
compose '\'' 'U' to 'Ú'
compose '\'' 'u' to 'ú'
compose '^' 'U' to 'Û'
compose '^' 'u' to 'û'
compose '"' 'U' to 'Ü'
compose '"' 'u' to 'ü'
compose '\'' 'Y' to 'Ý'
compose '\'' 'y' to 'ý'
compose 'T' 'H' to 'Þ'
compose 't' 'h' to 'þ'
compose 's' 's' to 'ß'
compose '"' 'y' to 'ÿ'
compose 's' 'z' to 'ß'
compose 'i' 'j' to 'ÿ'
_______________________________________________
Angstrom-distro-devel mailing list
Angstrom-distro-devel@linuxtogo.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel

Reply via email to