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