xlibs: Super keys now Super+Hyper
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xorg (Debian) |
Fix Released
|
Unknown
|
|||
xorg (Ubuntu) |
Invalid
|
High
|
Fabio Massimo Di Nitto |
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #1 |
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #2 |
Message-ID: <email address hidden>
Date: Sat, 21 Aug 2004 13:18:03 -0500
From: Branden Robinson <email address hidden>
To: <email address hidden>, <email address hidden>
Subject: Re: Bug#263073: xserver-xfree86: Super keys now Super+Hyper
--3snK74p7ddXn3Qrx
Content-Type: text/plain; charset=us-ascii
Content-
Content-
reassign 263073 xlibs
retitle 263073 xlibs: Super keys now Super+Hyper
severity 263076 serious
merge 256706 263073
thanks
On Mon, Aug 02, 2004 at 09:44:41PM +0000, Tim Bagot wrote:
> Package: xserver-xfree86
> Version: 4.3.0.dfsg.1-6
> Severity: normal
>=20
> Restarting X following a recent upgrade, I found that my Super (i.e. Win)
> keys no longer work as before: According to Emacs, keys pressed with
> them are now both Super- and Hyper-modified, instead of just Super.
>=20
> Since all of my window manager key bindings use Super this is a little
> inconvenient :-)
Thanks for your report; it has already been filed as #256706, #259740, and
#260232.
--=20
G. Branden Robinson | There's nothing an agnostic can't
Debian GNU/Linux | do if he doesn't know whether he
<email address hidden> | believes in it or not.
http://
--3snK74p7ddXn3Qrx
Content-Type: application/
Content-
Content-
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
iEYEARECAAYFAkE
EYYAn0TuJTRfNVm
=K12R
-----END PGP SIGNATURE-----
--3snK74p7ddXn3
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #3 |
Message-Id: <email address hidden>
Date: Sat, 21 Aug 2004 23:54:19 -0500
From: Branden Robinson <email address hidden>
To: <email address hidden>
Subject: severity of 263073 is serious, severity of 263076 is normal, merging 256706 263073
# Automatically generated email from bts, devscripts version 2.8.4
severity 263073 serious
severity 263076 normal
merge 256706 263073
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #4 |
Marking as duplicate based on debbugs merge (256706,263073)
This bug has been marked as a duplicate of bug 6890.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #5 |
Message-ID: <email address hidden>
Date: Thu, 26 Aug 2004 01:49:07 +0200
From: <email address hidden> (Denis Barbier)
To: <email address hidden>
Cc: <email address hidden>
Subject: Patch to solve XKB mess about modifiers
--0F1p//8PRICkK4MW
Content-Type: text/plain; charset=us-ascii
Content-
tags 256706 + patch
thanks
The bugs described in these merged bugreports were fixed upstream, see
http://
(numbers slightly differs in XFree86 CVS logs and Debian changelogs):
646. Fix for XKB map 'altwin' to avoid one keysym to more than one modifier
mapping (Ivan Pascal).
635. Fix xmodmap's output of the modifiers map when the first column keysym
is empty (Ivan Pascal).
634. Fixes for XKB keyboard maps:
- fix Meta, Super, Hyper keysyms interpretation
- fix typo in rules/xfree86.xml (Ivan Pascal).
Oddly debian/
but not the other 2 chunks. The missing pieces are in modifiers.patch.
I checked that when applied, xmodmap displays the right modifiers and
Meta_L is no more bound to Mod1.
Few days later, Ivan Pascal committed (attached in none.patch)
667. Fixes and updates for XKB keyboard maps:
...
- Fix wrong key type in the 'keymap without special keys' (Ivan Pascal).
I do not know what this does fix, but it looks pretty sane, maybe it
should go also.
Denis
--0F1p//8PRICkK4MW
Content-Type: text/plain; charset=us-ascii
Content-
Index: programs/
=======
RCS file: /cvs/xc/
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- programs/
+++ programs/
@@ -1,4 +1,4 @@
-// $XFree86: xc/programs/
+// $XFree86: xc/programs/
partial modifier_keys
xkb_symbols "meta_alt" {
@@ -15,7 +15,7 @@
key <LWIN> { [ Meta_L ] };
key <RWIN> { [ Meta_R ] };
modifier_map Mod1 { Alt_L, Alt_R };
- modifier_map Mod4 { Meta_L, Meta_R };
+ modifier_map Mod4 { <META>, Meta_L, Meta_R };
};
partial modifier_keys
@@ -23,7 +23,7 @@
key <LALT> { [ Alt_L, Alt_L ] };
key <LWIN> { [ Meta_L ] };
modifier_map Mod1 { Alt_L };
- modifier_map Mod4 { Meta_L };
+ modifier_map Mod4 { <META>, Meta_L };
};
partial modifier_keys
Index: programs/
=======
RCS file: /cvs/xc/
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- programs/
+++ programs/
@@ -56,7 +56,7 @@
* Author: Jim Fulton, MIT X Consortium; derived from parts of the
* original xmodmap, written by David Rosenthal, of Sun Microsystems.
*/
-/* $XFree86: xc/programs/
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #6 |
Message-Id: <email address hidden>
Date: Mon, 30 Aug 2004 23:17:42 -0500
From: Branden Robinson <email address hidden>
To: <email address hidden>
Subject: tagging 256706
# Automatically generated email from bts, devscripts version 2.8.4
# fixed in Debian X Strike Force XFree86 repository; to view, run "svn diff -r 1772:1773 svn://necrotic.
tags 256706 + pending
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #7 |
Message-Id: <email address hidden>
Date: Mon, 30 Aug 2004 23:35:34 -0500
From: Branden Robinson <email address hidden>
To: <email address hidden>
Subject: tagging 256706
# Automatically generated email from bts, devscripts version 2.8.4
# that which is pending does not need more info or help
tags 256706 - moreinfo help
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #8 |
Message-ID: <20040909014725
Date: Wed, 8 Sep 2004 18:47:25 -0700
From: Scott Robinson <email address hidden>
To: <email address hidden>
Cc: <email address hidden>
Subject: Re: Bug#259740 acknowledged by developer (Bug#256706: fixed in xfree86 4.3.0.dfsg.1-7)
--IJpNTDwzlM2Ie8A6
Content-Type: text/plain; charset=us-ascii
Content-
Content-
reopen 259740
thanks
This bug still occurs in the latest version.
Scott.
--=20
http://
--IJpNTDwzlM2Ie8A6
Content-Type: application/
Content-
Content-
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.5 (GNU/Linux)
iEYEARECAAYFAkE
5xcAn3OsKUSbOgL
=sKpg
-----END PGP SIGNATURE-----
--IJpNTDwzlM2Ie
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #9 |
Message-ID: <email address hidden>
Date: Thu, 9 Sep 2004 17:19:57 +0200 (CEST)
From: Fabio Massimo Di Nitto <email address hidden>
To: <email address hidden>
Subject: Closing.
Hi,
you are more than welcome to reopen RC bugs, but please add
information on why. Failing to do so makes me feel that you did not bother
to read the contents of the different bugs, that explain (inclusing
upstream notes) that the behaviour of the keys will not be fully reverted
to avoid reintroducing other bugs.
Fabio
--
<user> fajita: step one
<fajita> Whatever the problem, step one is always to look in the error log.
<user> fajita: step two
<fajita> When in danger or in doubt, step two is to scream and shout.
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #10 |
Message-ID: <email address hidden>
Date: Fri, 10 Sep 2004 01:20:27 +0200
From: <email address hidden> (Denis Barbier)
To: Scott Robinson <email address hidden>, <email address hidden>
Cc: <email address hidden>, <email address hidden>
Subject: Re: Bug#259740: Fw:Bug#259740: xlibs: Windows key no longer treated as modifer,
just as Super_L
unmerge 259740
reopen 259740
severity 259740 normal
tags 259740 - patch
thanks
Rationale: This bugreport was merged with others; some issues are fixed,
but others like this one are still under discussion.
On Thu, Sep 09, 2004 at 08:37:00AM -0700, Scott Robinson wrote:
> -- 1
> xmodmap: up to 3 keys per modifier, (keycodes in parentheses):
>
> 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 (0x7c)
> -- 1
>
> -- 2
>
> -- 2
> (nothing outputs from 'xkbcomp :0')
I asked you to send the generated server-0.xkb file, but Sebastien
Bacher told me on IRC how to reproduce this bug, so this is no more
necessary.
> 3. As for the altwin:meta_win, that is not what I want. I want the Windows
> key to be a modifier other than Meta. My alt key is already Meta, and that's
> just fine.
>
> If the modifier was Mod4, that would be best. If it is something else, I
> could handle that too. Right now, it appears the key is simultaneously Mod4
> and a normal keypress.
I ran
$ METACITY_VERBOSE=1 METACITY_
then launched
$ gnome-keybindin
and changed switching between windows by trying to map this action
to Super_L+Tab (as I tried several times, it may not have the
default value).
The log file contains (my comments are prefixed by a dash sign)
Window manager: Metacity version 2.8.1 running on 09.09.2004
...
KEYBINDINGS: Binding "switch_windows" has new gconf value "Super_L"
KEYBINDINGS: New keybinding for "switch_windows" is keysym = 0xffeb mods = 0x0
# xev tells that Super_L is indeed 0xffeb, but modifiers are 0x40.
# this output means that the Super_L key is pressed without modifiers,
# so in fact it is not seen as a modifier, see <Alt>Tab below for
# another example.
...
SM: Initializing session with save file '(none)'
SM: Obtained session ID 'xxxxxxxxxxxxxx
Window manager: Opening display ':0.0'
KEYBINDINGS: Display has keycode range 8 to 255
KEYBINDINGS: Keysym Alt_L bound to modifier 0x8
KEYBINDINGS: Keysym Meta_L bound to modifier 0x8
KEYBINDINGS: Keysym Alt_L bound to modifier 0x8
KEYBINDINGS: Keysym Meta_L bound to modifier 0x8
KEYBINDINGS: Keysym Num_Lock bound to modifier 0x10
KEYBINDINGS: Keysym Pointer_EnableKeys bound to modifier 0x10
KEYBINDINGS: Keysym Super_L bound to modifier 0x40
# as said above, so this binding is correct here
KEYBINDINGS: Keysym Hyper_L bound to modifier 0x40
KEYBINDINGS: Keysym Mode_switch bound to modifier 0x80
KEYBINDINGS: Keysym ISO_Level3_Shif...
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #11 |
Message-ID: <email address hidden>
Date: Sun, 12 Sep 2004 16:41:49 +0000
From: Tim Bagot <email address hidden>
To: <email address hidden>
Subject: xlibs: Super still Super+Hyper
Sorry, 263073 is not fixed in the latest version. The only improvement
is that xmodmap's output is more helpful now:
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 (0x7c)
I'm still seeing the same symptoms in Sawfish and Emacs. I tried adding
altwin:super_win, as suggested in 271259; it added Super_{L,R} to mod4:
mod4 Super_L (0x73), Super_R (0x74), Super_L (0x7f), Hyper_L (0x80)
but the problem persists. Removing 0x80 from mod4 with xmodmap does
"fix" it.
Tim Bagot
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #12 |
Message-ID: <email address hidden>
Date: Sun, 12 Sep 2004 18:48:59 +0200
From: <email address hidden> (Denis Barbier)
To: Tim Bagot <email address hidden>, <email address hidden>
Subject: Re: Bug#263073: xlibs: Super still Super+Hyper
On Sun, Sep 12, 2004 at 04:41:49PM +0000, Tim Bagot wrote:
> Sorry, 263073 is not fixed in the latest version.
[...]
Can you please be more specific, how can this bug be reproduced both in
Sawfish and Emacs (with full instructions for people installing these
software for the first time)? If you are running GNOME, you may read
http://
Denis
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #13 |
Message-ID: <email address hidden>
Date: Sun, 12 Sep 2004 19:11:17 +0000
From: Tim Bagot <email address hidden>
To: <email address hidden> (Denis Barbier), <email address hidden>
Subject: Re: Bug#263073: xlibs: Super still Super+Hyper
<email address hidden> (Denis Barbier) writes:
> Can you please be more specific, how can this bug be reproduced both in
> Sawfish and Emacs (with full instructions for people installing these
> software for the first time)? If you are running GNOME, you may read
> http://
Already read 271259 - it's in the bit you snipped. (BTW,
/etc/X11/
isn't there.)
Sawfish: W- bindings (e.g. W-TAB) do not work with the default modifier
set to super. (Oddly, they do work with it set to hyper, even though the
keys are generating Super_L/R keysyms and mod4 includes both Super and
Hyper.) Directly Super-modified bindings also do not work (and again
Hyper does).
Emacs: Keys pressed with a Windows key are reported as H-s-<key> instead
of just s-<key>.
Tim Bagot
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #14 |
Message-ID: <email address hidden>
Date: Sun, 12 Sep 2004 19:57:56 +0000
From: Tim Bagot <email address hidden>
To: <email address hidden> (Denis Barbier), <email address hidden>
Subject: Re: Bug#263073: xlibs: Super still Super+Hyper
Sorry, my steps to reproduce weren't exactly very detailed. I'll try
again:
Sawfish: From Gnome, go to Desktop Preferences, Windows; Bindings tab.
Set default modifier to super. (Should take effect immediately.) Try
e.g. Win-TAB. Set to hyper, and try again.
Emacs: Type C-h c Win-<key>
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #15 |
Message-ID: <email address hidden>
Date: Sun, 12 Sep 2004 21:39:35 +0200
From: <email address hidden> (Denis Barbier)
To: Tim Bagot <email address hidden>, <email address hidden>
Subject: Re: Bug#263073: xlibs: Super still Super+Hyper
On Sun, Sep 12, 2004 at 07:11:17PM +0000, Tim Bagot wrote:
> <email address hidden> (Denis Barbier) writes:
> > Can you please be more specific, how can this bug be reproduced both in
> > Sawfish and Emacs (with full instructions for people installing these
> > software for the first time)? If you are running GNOME, you may read
> > http://
>
> Already read 271259 - it's in the bit you snipped. (BTW,
> /etc/X11/
> isn't there.)
Good catch, this explains why capplets use altwin:meta_super instead
of altwin:super_win, I am going to reassign #271259 back to xlibs ;)
> Sawfish: W- bindings (e.g. W-TAB) do not work with the default modifier
> set to super.
How do you change this default modifier?
> (Oddly, they do work with it set to hyper, even though the
> keys are generating Super_L/R keysyms and mod4 includes both Super and
> Hyper.) Directly Super-modified bindings also do not work (and again
> Hyper does).
I am sorry, but I need detailed instructions to reproduce your tests.
> Emacs: Keys pressed with a Windows key are reported as H-s-<key> instead
> of just s-<key>.
Does this require some special settings? When launching
$ emacs -q
pressing H-<key> produces nothing, as with 4.3.0.dfsg.1-4.
Denis
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #16 |
Message-ID: <email address hidden>
Date: Sun, 12 Sep 2004 23:39:31 +0200
From: <email address hidden> (Denis Barbier)
To: Tim Bagot <email address hidden>, <email address hidden>
Subject: Re: Bug#263073: xlibs: Super still Super+Hyper
--YiEDa0DAkWCtVeE4
Content-Type: text/plain; charset=us-ascii
Content-
On Sun, Sep 12, 2004 at 07:57:56PM +0000, Tim Bagot wrote:
> Sorry, my steps to reproduce weren't exactly very detailed. I'll try
> again:
>
> Sawfish: From Gnome, go to Desktop Preferences, Windows; Bindings tab.
> Set default modifier to super. (Should take effect immediately.) Try
> e.g. Win-TAB. Set to hyper, and try again.
>
> Emacs: Type C-h c Win-<key>
Great, thanks a lot for these detailed instructions.
I was quite surprised to see that Alt and Meta are not corrupted the
same way, and found in emacs21-
/* If some keys are both alt and meta,
make them just meta, not alt. */
if (dpyinfo-
{
dpyinfo-
}
It seems that emacs does rely on the assumption that an X modifier
is bound to only one kind of key, and as this is not true for
Alt and Meta, a workaround was added. A similar trick can be added
for Super/Hyper, but a better idea is to skip the newly introduced
fake keys, since emacs has its own views about modifiers.
A patch is attached. It also shows that my patch to fix #234081 was
partly wrong, I will revert it.
On my slow machine, I was not able to build a patched emacs21 package,
but only that this portion behaves as desired with XFree86 4.3.
Emacs maintainer, do you believe that this bug should be cloned and
reassigned to emacs21?
Denis
--YiEDa0DAkWCtVeE4
Content-Type: text/plain; charset=us-ascii
Content-
--- emacs21-
+++ emacs21-
@@ -6399,6 +6399,9 @@
{
int sym = syms[((code - min_code) * syms_per_code) + code_col];
+ /* Is this a fake key? */
+ if (code_col == 0 && sym == NoSymbol)
+ break;
switch (sym)
{
case XK_Meta_L:
--YiEDa0DAkWCtV
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #17 |
Message-ID: <email address hidden>
Date: Mon, 13 Sep 2004 00:52:34 +0200
From: <email address hidden> (Denis Barbier)
To: Tim Bagot <email address hidden>, <email address hidden>
Subject: Re: Bug#263073: xlibs: Super still Super+Hyper
--17pEHd4RhPHOinZp
Content-Type: text/plain; charset=us-ascii
Content-
On Sun, Sep 12, 2004 at 07:57:56PM +0000, Tim Bagot wrote:
> Sorry, my steps to reproduce weren't exactly very detailed. I'll try
> again:
>
> Sawfish: From Gnome, go to Desktop Preferences, Windows; Bindings tab.
> Set default modifier to super. (Should take effect immediately.) Try
> e.g. Win-TAB. Set to hyper, and try again.
>
> Emacs: Type C-h c Win-<key>
That's funny, the code in sawfish comes from emacs, so it is broken the
same way and the fix is similar ;)
The problem here is that the direct_modifiers function in src/keys.c
contains:
if (meta_mod != 0 && (mods & EV_MOD_META))
mods = (mods & ~EV_MOD_META) | meta_mod;
if (alt_mod != 0 && (mods & EV_MOD_ALT))
mods = (mods & ~EV_MOD_ALT) | alt_mod;
if (hyper_mod != 0 && (mods & EV_MOD_HYPER))
mods = (mods & ~EV_MOD_HYPER) | hyper_mod;
if (super_mod != 0 && (mods & EV_MOD_SUPER))
mods = (mods & ~EV_MOD_SUPER) | super_mod;
With default settings, meta_mod==alt_mod and hyper_mod=
so only Meta and Hyper modifiers are caught. And indeed if modifier
is changed to Alt or Super, W-Tab is ignored. As with Emacs, some
black magic is invoked to try to handle the Alt/Meta case, but it
does not seem to work here.
The attached patch ignores XKB fake keys, and those *_mod variables
become unique. This patch has not been fully tested, I only checked
that *_mods variable become unique.
Sawfish maintainer, do you believe that this bug should be cloned and
reassigned to sawfish?
Denis
--17pEHd4RhPHOinZp
Content-Type: text/plain; charset=us-ascii
Content-
--- sawfish-
+++ sawfish-
@@ -1515,6 +1515,9 @@
{
int sym = syms[((code - min_code) * syms_per_code)
+ code_col];
+ /* Is this a fake key? */
+ if (code_col == 0 && sym == NoSymbol)
+ break;
switch(sym)
{
case XK_Meta_L: case XK_Meta_R:
--17pEHd4RhPHOi
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #18 |
Message-ID: <email address hidden>
Date: Mon, 13 Sep 2004 09:03:46 +0200
From: Christian Marillat <email address hidden>
To: <email address hidden> (Denis Barbier)
Cc: <email address hidden>, Tim Bagot <email address hidden>
Subject: Re: Bug#263073: xlibs: Super still Super+Hyper
<email address hidden> (Denis Barbier) writes:
> On Sun, Sep 12, 2004 at 07:57:56PM +0000, Tim Bagot wrote:
[...]
> Sawfish maintainer, do you believe that this bug should be cloned and
> reassigned to sawfish?
No I don't think thi is a bug in sawfish (never seen this problem
before, never reported and this work with my keyboard) i think the
problem come from GNOME which modify the keyborad layout without asking
something to users.
See bugs #250814, #251116, #251126, #251127, #251168, #251406,
#251542,#245848, #242932
Should be fixed soon...
Tim could you try to reconfigure your keyboard in the control center ?
Keyborad icon and layouts tab.
Denis if you reassign this bug to the capplets package change the
severity to important nad merge with others bugs.
Christian
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #19 |
Message-ID: <email address hidden>
Date: Mon, 13 Sep 2004 08:40:24 +0000
From: Tim Bagot <email address hidden>
To: Christian Marillat <email address hidden>, <email address hidden>
Cc: <email address hidden> (Denis Barbier)
Subject: Re: Bug#263073: xlibs: Super still Super+Hyper
Christian Marillat <email address hidden> writes:
> Tim could you try to reconfigure your keyboard in the control center ?
> Keyborad icon and layouts tab.
The layout is set correctly (generic 105-key, UK). There were no layout
options selected. Adding "Super is mapped to the Win-keys (default)."
didn't seem to do anything.
I see the problem with Emacs if I run it in a "bare" second X session.
Would it be worth my trying the same with Sawfish?
Tim Bagot
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #20 |
Message-ID: <email address hidden>
Date: Mon, 13 Sep 2004 23:24:18 +0200
From: <email address hidden> (Denis Barbier)
To: Christian Marillat <email address hidden>
Cc: <email address hidden>, Tim Bagot <email address hidden>
Subject: Re: Bug#263073: xlibs: Super still Super+Hyper
--0vzXIDBeUiKkjNJl
Content-Type: text/plain; charset=us-ascii
Content-
On Mon, Sep 13, 2004 at 09:03:46AM +0200, Christian Marillat wrote:
> <email address hidden> (Denis Barbier) writes:
>
> > On Sun, Sep 12, 2004 at 07:57:56PM +0000, Tim Bagot wrote:
>
> [...]
>
> > Sawfish maintainer, do you believe that this bug should be cloned and
> > reassigned to sawfish?
>
> No I don't think thi is a bug in sawfish (never seen this problem
> before, never reported and this work with my keyboard) i think the
> problem come from GNOME which modify the keyborad layout without asking
> something to users.
>
> See bugs #250814, #251116, #251126, #251127, #251168, #251406,
> #251542,#245848, #242932
>
> Should be fixed soon...
>
> Tim could you try to reconfigure your keyboard in the control center ?
> Keyborad icon and layouts tab.
>
> Denis if you reassign this bug to the capplets package change the
> severity to important nad merge with others bugs.
Christian, thanks for your reply, but I believe that sawfish will still
have trouble when capplets is fixed. The attached test-sawfish-mods.c
file helped me to understand how sawfish (and emacs) manage modifiers.
It is copied from src/keys.c
$ setxkbmap -layout us -model pc105 -option ""
$ ./test-sawfish-mods
Keysym Alt_L column: 0 keycode=0x40 pos: 0
Keysym Meta_L column: 0 keycode=0x40 pos: 1
Keysym Alt_L column: 1 keycode=0x7d pos: 1
Keysym Meta_L column: 2 keycode=0x9c pos: 1
Keysym Num_Lock column: 0 keycode=0x4d pos: 0
Keysym Super_L column: 0 keycode=0x7f pos: 1
Keysym Hyper_L column: 1 keycode=0x80 pos: 1
Up to 4 symbols per modifier
alt_mod=8
meta_mod=8
super_mod=64
hyper_mod=64
The 2 last lines are important, they show that the direct_modifiers
function (also in src/keys.c) won't catch Super_* modifiers because
it contains:
if (hyper_mod != 0 && (mods & EV_MOD_HYPER))
mods = (mods & ~EV_MOD_HYPER) | hyper_mod;
if (super_mod != 0 && (mods & EV_MOD_SUPER))
mods = (mods & ~EV_MOD_SUPER) | super_mod;
As hyper_mod is equal to super_mod, the mods variable is modified after
the first test and the second test fails. And this is indeed what I
observed: if you set binding modifier to Super, tabbing does not work,
but it works when set to Hyper with this X setting and also with
altwin:super_win option.
Some people claim that Super and Hyper should not be bound to the same
modifier to be ICCCM-compliant, but here is the relevant part from this
spec:
Clients should determine the meaning of a modifier bit from the
KeySyms being used to control it.
They argue that the current 'us' default breaks this rule, and at the
same time add tricks to work around problems in their implementation
when Alt and Meta are bound to the same modifier.
The other point of view is that this sentence only tells that applications
should n...
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Debian Bug Importer (debzilla) wrote : | #21 |
Message-ID: <email address hidden>
Date: Tue, 14 Sep 2004 00:53:02 +0200
From: Christian Marillat <email address hidden>
To: <email address hidden> (Denis Barbier)
Cc: <email address hidden>, Tim Bagot <email address hidden>
Subject: Re: Bug#263073: xlibs: Super still Super+Hyper
<email address hidden> (Denis Barbier) writes:
> On Mon, Sep 13, 2004 at 09:03:46AM +0200, Christian Marillat wrote:
>> <email address hidden> (Denis Barbier) writes:
[...]
> Christian, thanks for your reply, but I believe that sawfish will still
> have trouble when capplets is fixed. The attached test-sawfish-mods.c
> file helped me to understand how sawfish (and emacs) manage modifiers.
> It is copied from src/keys.c
Frankly you need to understand that sawfish is dead. So I'm just fixing
important bug report and this one is not an important bug report.
So you can do what you want with this bug report I'll simply ignore this
bug.
Christian
Changed in xorg: | |
status: | Unknown → Fix Released |
Message-ID: <email address hidden>
Date: Mon, 02 Aug 2004 21:44:41 +0000
From: Tim Bagot <email address hidden>
To: Debian Bug Tracking System <email address hidden>
Subject: xserver-xfree86: Super keys now Super+Hyper
Package: xserver-xfree86
Version: 4.3.0.dfsg.1-6
Severity: normal
Restarting X following a recent upgrade, I found that my Super (i.e. Win)
keys no longer work as before: According to Emacs, keys pressed with
them are now both Super- and Hyper-modified, instead of just Super.
Since all of my window manager key bindings use Super this is a little
inconvenient :-)
This is the output from `xmodmap -pm`:
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x6d)
mod1 Alt_L (0x40), BadKey (0x7d), BadKey (0x9c)
mod2 Num_Lock (0x4d)
mod3
mod4 BadKey (0x7f), BadKey (0x80)
mod5 Mode_switch (0x5d), ISO_Level3_Shift (0x7c)
The left and right Win keys have keycodes 115 and 116, generating
keysyms Super_L and Super_R. 127 and 128 appear to be "NoSymbol
Super_L" and "NoSymbol Hyper_L", so having them both on mod4 seems a
little dubious.
The keyboard section of XF86Config-4:
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "gb"
EndSection
Keyboard-related output printed on stderr:
(**) |-->Input Device "Generic Keyboard"
(**) Option "XkbRules" "xfree86"
(**) XKB: rules: "xfree86"
(**) Option "XkbModel" "pc105"
(**) XKB: model: "pc105"
(**) Option "XkbLayout" "gb"
(**) XKB: layout: "gb"
(==) Keyboard: CustomKeycode disabled
-- Package-specific info:
-- System Information:
Debian Release: 3.1
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.4.25-1-686
Locale: LANG=C, LC_CTYPE=C
Versions of packages xserver-xfree86 depends on:
ii debconf [debconf-2.0] 1.4.30 Debian configuration management sy
ii libc6 2.3.2.ds1-13 GNU C Library: Shared libraries an
ii xserver-common 4.3.0.dfsg.1-6 files and utilities common to all
ii zlib1g 1:1.2.1.1-5 compression library - runtime
-- debconf information: xfree86/ config/ device/ identifier: Gigabyte Radeon 9200SE xfree86/ config/ monitor/ screen- size: 17 inches (430 mm) xfree86/ config/ device/ use_fbdev: xfree86/ config/ monitor/ selection- method: Medium xfree86/ config/ doublequote_ in_string_ error: default- x-server: xserver-xfree86 xfree86/ config/ inputdevice/ mouse/emulate3b uttons: false xfree86/ config/ device/ bus_id: xfree86/ config/ inputdevice/ keyboard/ layout: gb xfree86/ config/ monitor/ horiz-sync: 30-94 xfree86/ config/ monitor/ identifier: LS902U no_known_ x-server: xfree86/ autodetect_ mouse: false xfree86/ config/ device/ video_ram: xfree86/ config/ monitor/ mode-list: 1600x1200 @ 75Hz xfree86/ config/ monitor/ lcd: false
* xserver-
xserver-
xserver-
* xserver-
xserver-
shared/
* xserver-
* xserver-
* xserver-
xserver-
* xserver-
* shared/
* xserver-
* xserver-
* xserver-
* xserver-
...