--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: xkb-data: Duplicate entries for audio keys in section 'inspiron' of 'inet' symbols file
- From: Lionel Vaux <lionel.vaux@laposte.net>
- Date: Fri, 14 Mar 2008 18:33:28 +0100
- Message-id: <20080314173328.GA16714@garogorille.elevation>
Package: xkb-data
Version: 0.9-4
Severity: normal
Hi,
The section about 'inspiron' multimedia keys in file
/usr/share/X11/symbols/inet is:
partial alphanumeric_keys
xkb_symbols "inspiron" {
key <I02> { [ XF86AudioStop ] };
key <I04> { [ XF86AudioNext ] };
key <I10> { [ XF86AudioPrev ] };
key <I19> { [ XF86AudioNext ] };
key <I20> { [ XF86AudioMute ] };
key <I21> { [ XF86Eject ] };
key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
key <I24> { [ XF86AudioStop ] };
key <I2E> { [ XF86AudioLowerVolume ] };
key <I30> { [ XF86AudioRaiseVolume ] };
key <NFER> { [ XF86AudioPrev ] };
key <XFER> { [ XF86AudioPlay, XF86AudioPause ] };
};
This introduces duplicate entries for symbols XF86AudioStop, XF86AudioNext,
XF86AudioPrev, XF86AudioPlay and XF86AudioPause. As a result, launching xev and
pressing, e.g., key Play/Pause results in the following output:
KeyPress event, serial 32, synthetic NO, window 0x1a00001,
root 0x5c, subw 0x0, time 2924632689, (168,179), root:(221,230),
state 0x0, keycode 162 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
XKeysymToKeycode returns keycode: 129
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
root 0x5c, subw 0x0, time 2924632852, (168,179), root:(221,230),
state 0x0, keycode 162 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
XKeysymToKeycode returns keycode: 129
XLookupString gives 0 bytes:
(notice the 'XKeysymToKeycode returns keycode: 129' line) and X11 clients do
not handle correctly the corresponding symbols (for instance fluxbox misses
those keypresses).
Removing duplicate entries as follows:
partial alphanumeric_keys
xkb_symbols "inspiron" {
key <I10> { [ XF86AudioPrev ] };
key <I19> { [ XF86AudioNext ] };
key <I20> { [ XF86AudioMute ] };
key <I21> { [ XF86Eject ] };
key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
key <I24> { [ XF86AudioStop ] };
key <I2E> { [ XF86AudioLowerVolume ] };
key <I30> { [ XF86AudioRaiseVolume ] };
};
solved this problem on my Inspiron 6400. The output of xev becomes
KeyPress event, serial 29, synthetic NO, window 0x1a00001,
root 0x5c, subw 0x0, time 2924325407, (29,-11), root:(82,40),
state 0x0, keycode 162 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False
KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
root 0x5c, subw 0x0, time 2924325566, (29,-11), root:(82,40),
state 0x0, keycode 162 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
XLookupString gives 0 bytes:
and fluxbox catches audio keys correctly.
Cheers,
iouri.
-- System Information:
Debian Release: 4.0
APT prefers stable
APT policy: (920, 'stable'), (900, 'stable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-6-686
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
-- no debconf information
--- End Message ---
--- Begin Message ---
- To: Lionel Vaux <lionel.vaux@laposte.net>, 470944-done@bugs.debian.org
- Subject: Re: Bug#470944: xkb-data: Duplicate entries for audio keys in section 'inspiron' of 'inet' symbols file
- From: Julien Cristau <jcristau@debian.org>
- Date: Wed, 28 Jan 2009 09:07:23 +0100
- Message-id: <20090128080714.GA11829@radis.liafa.jussieu.fr>
- In-reply-to: <20080314173328.GA16714@garogorille.elevation>
- References: <20080314173328.GA16714@garogorille.elevation>
Salut Lionel,
On Fri, Mar 14, 2008 at 18:33:28 +0100, Lionel Vaux wrote:
> The section about 'inspiron' multimedia keys in file
> /usr/share/X11/symbols/inet is:
>
> partial alphanumeric_keys
> xkb_symbols "inspiron" {
> key <I02> { [ XF86AudioStop ] };
> key <I04> { [ XF86AudioNext ] };
> key <I10> { [ XF86AudioPrev ] };
> key <I19> { [ XF86AudioNext ] };
> key <I20> { [ XF86AudioMute ] };
> key <I21> { [ XF86Eject ] };
> key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
> key <I24> { [ XF86AudioStop ] };
> key <I2E> { [ XF86AudioLowerVolume ] };
> key <I30> { [ XF86AudioRaiseVolume ] };
> key <NFER> { [ XF86AudioPrev ] };
> key <XFER> { [ XF86AudioPlay, XF86AudioPause ] };
> };
>
As of 1.5, it reads:
partial hidden alphanumeric_keys
xkb_symbols "media_common" {
key <I01> { [ XF86AudioMedia ] };
key <I10> { [ XF86AudioPrev ] };
key <I19> { [ XF86AudioNext ] };
key <I20> { [ XF86AudioMute ] };
key <I22> { [ XF86AudioPlay, XF86AudioPause ] };
key <I24> { [ XF86AudioStop, XF86Eject ] };
key <I2E> { [ XF86AudioLowerVolume ] };
key <I30> { [ XF86AudioRaiseVolume ] };
};
partial alphanumeric_keys
xkb_symbols "inspiron" {
include "inet(media_common)"
key <I02> { [ XF86AudioStop ] };
key <I04> { [ XF86AudioNext ] };
key <I21> { [ XF86Eject ] };
key <I56> { [ XF86Display ] };
key <NFER> { [ XF86AudioPrev ] };
key <XFER> { [ XF86AudioPlay, XF86AudioPause ] };
};
>
> This introduces duplicate entries for symbols XF86AudioStop, XF86AudioNext,
> XF86AudioPrev, XF86AudioPlay and XF86AudioPause. As a result, launching xev and
> pressing, e.g., key Play/Pause results in the following output:
>
> KeyPress event, serial 32, synthetic NO, window 0x1a00001,
> root 0x5c, subw 0x0, time 2924632689, (168,179), root:(221,230),
> state 0x0, keycode 162 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
> XKeysymToKeycode returns keycode: 129
> XLookupString gives 0 bytes:
> XmbLookupString gives 0 bytes:
> XFilterEvent returns: False
>
> KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
> root 0x5c, subw 0x0, time 2924632852, (168,179), root:(221,230),
> state 0x0, keycode 162 (keysym 0x1008ff14, XF86AudioPlay), same_screen YES,
> XKeysymToKeycode returns keycode: 129
> XLookupString gives 0 bytes:
>
> (notice the 'XKeysymToKeycode returns keycode: 129' line) and X11 clients do
> not handle correctly the corresponding symbols (for instance fluxbox misses
> those keypresses).
>
That's a bug in those clients. There's absolutely no guarantee that the
keysym -> keycode translation is unambiguous, so they should walk the
map looking for the appropriate keysym, and place a passive grab on all
matching keycodes, instead of relying on XKeysymToKeycode. Closing this
bug.
Cheers,
Julien
--- End Message ---