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