Why the "Windows" key won't be supported.

Olivier Fourdan fourdan at xfce.org
Fri Sep 8 21:30:57 CEST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Olivier Fourdan wrote:
> Jani Monoses wrote:
> [...]
> 
>>>> Until now, it was more or less supported by the keyboard and window 
>>>> manager shortcuts editors, mostly as a result of side effects  (see bug 
>>>> #1737 [1] for an example of such inconsistency)
>>> I commented on that bug with an inconsistency I experience usng gtk+ 2.10
> 
> I've added my comment the bug too.
> 
>>>> According to this thread [2], things may change in the future. The API 
>>>> documentation for gtk+ 2.9.0 already mention the SUPER/META/HYPER modifiers.
>>> There is support for this in gtk+ 2.10 now so it probably could be made
>>> to work.
> 
> It actually works. I'll copy my comment here, just for the record (and
> for those who don't feel like digging in Bugzilla), because that might
> be of interests to some people.
> 
> Ok, I see what you mean, but I'm not sure the problem lies in our code.
> Let's see how I can demonstrate that.
> 
> By default, on my Xorg system, I have the following modifiers defined :
> 
> shift       Shift_L (0x32),  Shift_R (0x3e)
> lock        Caps_Lock (0x42)
> control     Control_L (0x25),  Control_R (0x6d)
> mod1        Alt_L (0x40),  Alt_L (0x7d),  Meta_L (0x9c)
> mod2        Num_Lock (0x4d)
> mod3
> mod4        Super_L (0x7f),  Hyper_L (0x80)
> mod5        Mode_switch (0x5d),  ISO_Level3_Shift (0x71), ISO_Level3_Shift
> (0x7c)
> 
> As you can see, Super_L is listed as a modifier but *not* Super_R. That
> could explain, IMHO, why pressing the right "Windows" key is seen as a
> regular keystroke and not as a modifier as you could expect.
> 
> To check that theory, a simple test is to add Super_R as a modifier.
> Let's proceed as follow:
> 
>     xmodmap -e "clear mod4"
>     xmodmap -e "add mod4 = Super_L Super_R Hyper_L"
> 
> That should do the trick. Let's checkn rerun "xmodmap" again to see what
> is now listed as mod4:
> 
> shift       Shift_L (0x32),  Shift_R (0x3e)
> lock        Caps_Lock (0x42)
> control     Control_L (0x25),  Control_R (0x6d)
> mod1        Alt_L (0x40),  Alt_L (0x7d),  Meta_L (0x9c)
> mod2        Num_Lock (0x4d)
> mod3
> mod4        Super_L (0x73),  Super_L (0x7f),  Super_R (0x74),  Hyper_L
> (0x80)
> mod5        Mode_switch (0x5d),  ISO_Level3_Shift (0x71), ISO_Level3_Shift
> (0x7c)
> 
> Great! So now both Super_L and Super_R are listed as modifiers. Now, the
> last step is to check with the shortcut manager (both keyboard and WM
> shortcuts) And indeed that works with both.
> 
> Therefore, I do think that this issue could be related to the default
> Xorg Xmodmap mapping.


I've now changed the xfwm4 shortcut editor so that it behaves like the
keyboard shortcut manager, ie wait for the key release instead of the
the key press.

That doesn't fix the issue (as explained above), but at least there is
no more inconsistency.

Cheers,
Olivier.


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFFAcTxFHBtvh5LRUARAl32AKCdoQtIFqj2E64YlTGpofk5SaB/FACg03cs
G+xnzh82s0MNsQzJnPl0hhQ=
=pySR
-----END PGP SIGNATURE-----



More information about the Xfce4-dev mailing list