Bug 66132 - custom keyboard buttons don't work in "configure shortcuts"
Summary: custom keyboard buttons don't work in "configure shortcuts"
Status: CONFIRMED
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: shortcuts (show other bugs)
Version: unspecified
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: kdelibs bugs
URL:
Keywords:
: 142247 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-10-16 22:03 UTC by Dylan Carlson
Modified: 2011-07-25 17:32 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dylan Carlson 2003-10-16 22:03:48 UTC
Version:           1.5.4 (using KDE KDE 3.1.4)
Installed from:    Compiled From Sources
Compiler:          gcc 3.3 -march=athlon-tbird -O3
OS:          Linux

I have a Logitech Access Keyboard which has extra buttons for Reply, Forward, Send, New Message (and various other things).    I have adjusted XFree86 via ~/.xmodmap, etc to use these keys.  The extra keys work fine in KMenuedit and elsewhere in KDE...

however..

KMail does not see them correctly.  KMail notices --some-- key is pressed, but it is an empty char... instead of what the name of the key is in XKeysymDB.

This behavior should be consistent with KMenuedit, allowing me to bind special keys to any shortcut in KMail.
Comment 1 Ingo Klöcker 2003-10-17 10:12:53 UTC
You said it works elsewhere in KDE. So you can bind those keys for example to some actions in Konqueror and there it works, but if you bind them to an action in KMail (via Configure Shortcuts...) then they don't work?
Does it work in the message composer?

What do you mean by "KMail notices --some-- key is pressed, but it is an empty char..."? How do you know that KMail notices some key?
Comment 2 Dylan Carlson 2003-10-17 15:11:59 UTC
To your first paragraph:  yes, exactly.

Second: no

Third:  This is very hard to explain.  I wish you had an internet keyboard so you could see for yourself.   In either Konqueror or the KDE Global Shortcuts (kcontrol), when one of the special keys is selected, the name of the key (as it is configured in xmodmap) shows up.  In KMail, it either shows up as nothing, or if I used the key as an alternate, you will see the primary key with a semicolon and then nothing after the semicolon.

Worse, KMail treats all extra special keys as the same key.  So it doesn't matter that KMail sees "some key" for one shortcut.  If I try setting a different key for a different shortcut, KMail will complain that the key is already configured for another short (even though it's a different key).

As I say, Konqueror, Kcontrol, and other KDE Apps (such as Noatun's Keyz plugin) use the special keys perfectly.
Comment 3 Ingo Klöcker 2003-10-17 17:03:05 UTC
So if I understand correctly Settings->Configure Shortcuts... in Konqueror works, but Settings->Configure Shortcuts... in KMail doesn't work. Since both programs (like all other KDE programs) use exactly the same dialog for configuring shortcuts I don't have the slightest idea why it works in Konqueror but not in KMail.

The only thing that you can try is: Compile kdelibs and kmail with --enable-debug, turn on the debug output of KAccel with kdebugdialog, and then start kmail from Konsole and watch the debug output for suspicious debug messages.
Comment 4 Dylan Carlson 2003-10-18 06:33:06 UTC
Gladly... but you lost me somewhere around "KAccel".  Can you break this down into some steps, or point me to a HOWTO?  I can probably figure out the relevant debug output you need to see, once I understand how to get it (I code in Java regularly)...
Comment 5 Dylan Carlson 2003-10-18 06:41:09 UTC
I need to make a correction... I just tested this again and the keys do NOT work under Konqueror, Konsole or Koffice!  But they DO work under Kcontrol (global shortcuts), Menu Editor, Noatun (keyz)...

This is inconsistent and confusing.   

I apologize.  My fault for not making sure that this bug post was correct.
Comment 6 Till Adam 2003-10-19 19:29:34 UTC
Reassigning to kdelibs/general for lack of a kaccel component, since it's apparently not a kmail problem.
Comment 7 Dylan Carlson 2003-10-20 16:01:09 UTC
This bug is essentially a duplicate of #58408, and is related to #57540 and #61792.  TIA for a fix!  :)
Comment 8 Lauri Watts 2003-10-23 16:40:14 UTC
Merging these duplicates. 

I can confirm the list from #57540 are exactly the same ones on my keyboard that are not available inside an application (and as you can see from the names, things like 'undo', 'redo' and 'new' are indeed intended to be used as inside application shortcuts)



*** This bug has been marked as a duplicate of 57540 ***
Comment 9 Lauri Watts 2003-10-23 16:45:35 UTC
That is, meant to be the list from #58408, of course
Comment 10 Lauri Watts 2003-10-23 16:46:35 UTC

*** This bug has been marked as a duplicate of 58408 ***
Comment 11 Thomas McGuire 2007-02-27 16:02:19 UTC
*** Bug 142247 has been marked as a duplicate of this bug. ***
Comment 12 Thomas McGuire 2007-02-27 16:08:39 UTC
Reopening. This happens for me, too.
I have one key which works in the control center module for shortcuts, but does not work in applications. xev and the kcm display the name of the key correctly, but applications only get an "empty" key like described above.
Comment 13 CIJOML 2007-02-27 18:02:56 UTC
Adding my bugreport to this bug, which is duplicate to mine.

Want add alternate shortcut (button on my multimedia keyboart) for Reply to message (normal shortcut is R). Keyboard returns

KeyPress event, serial 32, synthetic NO, window 0x2c00001,
    root 0x4d, subw 0x0, time 6989860, (417,720), root:(421,747),
    state 0x0, keycode 228 (keysym 0x1008ff72, XF86Reply), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x2c00001,
    root 0x4d, subw 0x0, time 6990062, (417,720), root:(421,747),
    state 0x0, keycode 228 (keysym 0x1008ff72, XF86Reply), same_screen YES,
    XLookupString gives 0 bytes:

in xev.

Alternate key is not filled when key is pressed, but kmail "thinks" about it for 4 secs. Then do nothink.

I wa also tried edit manually

share/apps/kmail/kmmainwin.rc

 <ActionProperties>
  <Action shortcut="R;XF86Reply" name="reply" />
  <Action shortcut="F1;Help" name="help_contents" />
  <Action shortcut="Plus;Undo" name="go_next_unread_message" />
  <Action shortcut="Plus;Redo" name="go_previous_unread_message" />
  <Action shortcut="Ctrl+P;Print" name="file_print" />
 </ActionProperties>

butt this also didn't have any affect. But for example Print which is mapped to

KeyPress event, serial 32, synthetic NO, window 0x2c00001,
    root 0x4d, subw 0x0, time 7126451, (404,728), root:(408,755),
    state 0x0, keycode 185 (keysym 0xff61, Print), same_screen YES,
    XKeysymToKeycode returns keycode: 111
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x2c00001,
    root 0x4d, subw 0x0, time 7126549, (404,728), root:(408,755),
    state 0x0, keycode 185 (keysym 0xff61, Print), same_screen YES,
    XKeysymToKeycode returns keycode: 111
    XLookupString gives 0 bytes:


works.

I was also trying Redo, Undo and many other XFF86 keys on my keyboard, but it also doesn't help :(

Full list of my multimedia buttons follows:

    key <AE13>  {       [ XF86Messenger         ]       };
    key <I09>   {       [ XF86New               ]       };
    key <K64>   {       [ XF86Open              ]       };
    key <I2F>   {       [ XF86Close             ]       };
    key <I64>   {       [ XF86Reply             ]       };
    key <I07>   {       [ Redo                  ]       };
    key <I0A>   {       [ Undo                  ]       };
    key <I10>   {       [ XF86AudioPrev         ]       };
    key <I16>   {       [ XF86LogOff            ]       };
    key <I19>   {       [ XF86AudioNext         ]       };
    key <I20>   {       [ XF86AudioMute         ]       };
    key <I21>   {       [ XF86Calculator        ]       };
    key <I22>   {       [ XF86AudioPlay, XF86AudioPause ] };
    key <I23>   {       [ XF86Spell             ]       };
    key <I24>   {       [ XF86AudioStop         ]       };
    key <I2E>   {       [ XF86AudioLowerVolume  ]       };
    key <I30>   {       [ XF86AudioRaiseVolume  ]       };
    key <I02>   {       [ XF86HomePage          ]       };
    key <I75>   {       [ Help                  ]       };
    key <I3C>   {       [ XF86Music     ]       };
    key <I0E>   {       [ XF86Forward           ]       };
    key <I5A>   {       [ XF86Send              ]       };
    key <I55>   {       [ XF86Save              ]       };
    key <I39>   {       [ Print                 ]       };
    key <I5F>   {       [ XF86Sleep             ]       };
    key <FK17>  {       [ XF86Pictures  ]       };
    key <I6C>   {       [ XF86Mail      ]       };      
    key <XFER>  {       [ XF86AudioMedia        ]       };
    key <I70>   {       [ XF86Documents ]       };


Thanks a LOT for quick help! 
Comment 14 Nils Schnabel 2007-12-20 12:59:10 UTC
Same problem here
- All buttons work in kcontrol -> "Regional & Accessibility" -> "Input Actions"
- in Kaffeine, Amarok, Konqueror, Kate, ... in "Settings" -> "Configure Shortcuts", only some of them work. For example, XF86AudioPause doesn't work, XF86AudioPrev does. 
"Doesn't work" means that the configuration dialog seems to recognize that a key was pressed, but can't determine which one.