X keyboard model [was Re: AbiWord.Unicode.clue++]

Jeff Hostetler (jeff@abisource.com)
Sun, 21 Mar 1999 08:09:12 -0600


thanks for the reply. for the moment, i'd like to focus on the
X keyboard problems.

Drazen Kacar wrote:
> OK, here are a few thoughts. Comments about current implementation are
> based on the behaviour of AbiWord 0.5.2 built on Solaris 7 using Sun's
> X server and Sun's Type 5 keyboard. If you thought Unicode is bad,
> wait until you come to the wonderfull world of X keyboard model. :-)
> ....
> Your keyboard shortcut for Exit in the file menu is not implemented
> correctly. The menu says that the shortcut is Alt+F4 (BTW, I'd be
> happier if this was Alt+Q), but when I press ALT+F4 nothing happens.
> Because the shortcut is actually Mod1+F4. On my keyboard ALt key
> has Alt_L KeySym and Mod4 modifier. There are two Meta keys with
> Meta_L & Meta_R KeySyms and Mod1, so this shortcut actually works
> with any of them. It's kind of confusing for an average user.
> Netscape's shortcuts work with both Alt and Meta. Since Motif allows
> menu entries to have only one shortcut, Netscape uses translations
> instead of shortcuts. If you don't intend to use Alt and Meta
> combinations for different things, think about this.

wow! and i thought i was confused before....
let me see if i understand: on your keyboard, the left ALT key
(keysym ALT_L) is reported as the Mod4 modified. and the Meta
keys (keysyms Meta_L & Meta_R) are reported as the Mod1 modifier.

it was my intention to only support 'shift', 'control' and 'alt',
so no i hadn't planned anything for Meta (or Super or Hyper :-)

could you send me the output of 'xmodmap -pk' and 'xmodmap -pke'
-- i'd like to see how they compare with my system.

also, could you try a small code mod for me? take a look at
abi/src/ev/unix/ev_UnixKeyboard.cpp. search for 'MOD1'. right
after the:
if (e->state & GDK_MOD1_MASK)
state |= EV_EMS_ALT;
could you add:
if (e->state & GDK_MOD4_MASK)
state |= EV_EMS_ALT;

and see if everything works as it should. with this both ALT and META
should behave identically.

thanks
jeff



This archive was generated by hypermail 1.03b2.