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 = threenumbersign
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