[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-bugs-dist
Subject:    [Bug 193565] can't bind multimedia keys with modifiers
From:       Michael Jansen <kde () michael-jansen ! biz>
Date:       2009-05-27 21:48:34
Message-ID: 20090527214834.458C4166D5 () immanuel ! kde ! org
[Download RAW message or body]

https://bugs.kde.org/show_bug.cgi?id=193565


Michael Jansen <kde@michael-jansen.biz> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1




--- Comment #1 from Michael Jansen <kde michael-jansen biz>  2009-05-27 23:48:32 ---
This problem seems to be an x11 bug in relation to the evdev driver. If i do
xev and press a modifier and a multimedia key i get the following outputp:


KeyPress event, serial 34, synthetic NO, window 0x5800001,
    root 0x1a6, subw 0x0, time 10020292, (-513,-177), root:(904,786),
    state 0x0, keycode 105 (keysym 0xffe4, Control_R), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

MappingNotify event, serial 34, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

MappingNotify event, serial 34, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 247

KeyPress event, serial 34, synthetic NO, window 0x5800001,
    root 0x1a6, subw 0x0, time 10020321, (-513,-177), root:(904,786),
    state 0x0, keycode 180 (keysym 0x1008ff18, XF86HomePage), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x5800001,
    root 0x1a6, subw 0x0, time 10020409, (-513,-177), root:(904,786),
    state 0x4, keycode 180 (keysym 0x1008ff18, XF86HomePage), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

MappingNotify event, serial 36, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 248

MappingNotify event, serial 36, synthetic NO, window 0x0,
    request MappingKeyboard, first_keycode 8, count 247

KeyRelease event, serial 36, synthetic NO, window 0x5800001,
    root 0x1a6, subw 0x0, time 10020609, (-513,-177), root:(904,786),
    state 0x4, keycode 105 (keysym 0xffe4, Control_R), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False


As you can see on the first KeyPress event for XF86HomePage the state var is
0x0. This var contains the modifier state. On the KeyRelease event state ix 0x4
which means a modifier is pressed. KKeySequenceWidget has to listen to
KeyPressEvents and therefore misses the modifier. 

If you press modifier + multimedia key more than once you can see it is
correctly after the first one. Try to record an alt+mmkey, alt+mmkey shortcut
in kde too to see the effect.

You can check if you use evdev in /etc/X11/xorg.conf .

Someone on irc not using evdev tried it too.

KeyPress event, serial 31, synthetic NO, window 0x3800001,
    root 0x80, subw 0x0, time 37321951, (675,759), root:(676,787),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyPress event, serial 31, synthetic NO, window 0x3800001,
    root 0x80, subw 0x0, time 37326280, (675,759), root:(676,787),
    state 0x4, keycode 174 (keysym 0x1008ff11, XF86AudioLowerVolume),
same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 31, synthetic NO, window 0x3800001,
    root 0x80, subw 0x0, time 37326527, (675,759), root:(676,787),
    state 0x4, keycode 174 (keysym 0x1008ff11, XF86AudioLowerVolume),
same_screen YES,
    XLookupString gives 0 bytes:

KeyRelease event, serial 31, synthetic NO, window 0x3800001,
    root 0x80, subw 0x0, time 37326927, (675,759), root:(676,787),
    state 0x4, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes:

As you can see on the first KeyPress event for XF86AudioLowerVolume the state
is set for him.

So either stop using evdev or wait till x11 fixed the bug. I will contact them.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic