LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 06-19-2015, 06:52 PM   #1
Canine
LQ Newbie
 
Registered: Jun 2015
Location: NE of Italy
Distribution: Slackware current, multilib enabled
Posts: 4

Rep: Reputation: Disabled
Shift+H not working on x.org


I'm on Slackware current, on bare hardware, the X.org version is X11 1.16.4. I'm dual booting with Bodhi Linux, where the issue hasn't affected me (runs x.org). And has affected two different keyboards, in case anyone wonders...
On XFCE, fluxbox, a built from scratch calmwm, shift and H produce a notifygrab notifyungrab couple of events. shift and whatever else work. shift + altgr + h work. Capslock, then h, works.
ps -ef doesn't give me any guidance, and restoring the xfce hotkey tool settings hadn't change anything.
Is there any way to debug further this issue?

Here (capslock, then h), some xev output, attached:
(lowercase typing)
Code:
KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19227277, (96,77), root:(425,448),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19227365, (96,77), root:(425,448),
    state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19227685, (96,77), root:(425,448),
    state 0x0, keycode 39 (keysym 0x73, s), same_screen YES,
    XLookupString gives 1 bytes: (73) "s"
    XmbLookupString gives 1 bytes: (73) "s"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19227789, (96,77), root:(425,448),
    state 0x0, keycode 39 (keysym 0x73, s), same_screen YES,
    XLookupString gives 1 bytes: (73) "s"
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19228005, (96,77), root:(425,448),
    state 0x0, keycode 40 (keysym 0x64, d), same_screen YES,
    XLookupString gives 1 bytes: (64) "d"
    XmbLookupString gives 1 bytes: (64) "d"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19228117, (96,77), root:(425,448),
    state 0x0, keycode 40 (keysym 0x64, d), same_screen YES,
    XLookupString gives 1 bytes: (64) "d"
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19228237, (96,77), root:(425,448),
    state 0x0, keycode 41 (keysym 0x66, f), same_screen YES,
    XLookupString gives 1 bytes: (66) "f"
    XmbLookupString gives 1 bytes: (66) "f"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19228325, (96,77), root:(425,448),
    state 0x0, keycode 41 (keysym 0x66, f), same_screen YES,
    XLookupString gives 1 bytes: (66) "f"
    XFilterEvent returns: False
(typing with shift)
Code:
KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19232750, (96,77), root:(425,448),
    state 0x0, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19232910, (96,77), root:(425,448),
    state 0x1, keycode 38 (keysym 0x41, A), same_screen YES,
    XLookupString gives 1 bytes: (41) "A"
    XmbLookupString gives 1 bytes: (41) "A"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19232982, (96,77), root:(425,448),
    state 0x1, keycode 38 (keysym 0x41, A), same_screen YES,
    XLookupString gives 1 bytes: (41) "A"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19233030, (96,77), root:(425,448),
    state 0x1, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19233502, (96,77), root:(425,448),
    state 0x0, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19233670, (96,77), root:(425,448),
    state 0x1, keycode 39 (keysym 0x53, S), same_screen YES,
    XLookupString gives 1 bytes: (53) "S"
    XmbLookupString gives 1 bytes: (53) "S"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19233734, (96,77), root:(425,448),
    state 0x1, keycode 39 (keysym 0x53, S), same_screen YES,
    XLookupString gives 1 bytes: (53) "S"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19233790, (96,77), root:(425,448),
    state 0x1, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
(typing shift and h)
Code:
KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19234958, (96,77), root:(425,448),
    state 0x0, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 32, synthetic NO, window 0x1a00001,
    mode NotifyGrab, detail NotifyAncestor

FocusOut event, serial 32, synthetic NO, window 0x1a00001,
    mode NotifyUngrab, detail NotifyPointer

FocusIn event, serial 32, synthetic NO, window 0x1a00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 32, synthetic NO, window 0x0,
    keys:  0   0   0   0   0   0   0   64  0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19235557, (96,77), root:(425,448),
    state 0x1, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19237437, (96,77), root:(425,448),
    state 0x0, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 32, synthetic NO, window 0x1a00001,
    mode NotifyGrab, detail NotifyAncestor

FocusOut event, serial 32, synthetic NO, window 0x1a00001,
    mode NotifyUngrab, detail NotifyPointer

FocusIn event, serial 32, synthetic NO, window 0x1a00001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 32, synthetic NO, window 0x0,
    keys:  2   0   0   0   0   0   0   64  0   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19237782, (96,77), root:(425,448),
    state 0x1, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
(whatever else)
Code:
KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19238798, (96,77), root:(425,448),
    state 0x0, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19238974, (96,77), root:(425,448),
    state 0x1, keycode 29 (keysym 0x59, Y), same_screen YES,
    XLookupString gives 1 bytes: (59) "Y"
    XmbLookupString gives 1 bytes: (59) "Y"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19239038, (96,77), root:(425,448),
    state 0x1, keycode 29 (keysym 0x59, Y), same_screen YES,
    XLookupString gives 1 bytes: (59) "Y"
    XFilterEvent returns: False

KeyRelease event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19239334, (96,77), root:(425,448),
    state 0x1, keycode 62 (keysym 0xffe2, Shift_R), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 32, synthetic NO, window 0x1a00001,
    root 0x199, subw 0x0, time 19240886, (96,77), root:(425,448),
    state 0x0, keycode 133 (keysym 0xffeb, Super_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 32, synthetic NO, window 0x1a00001,
    mode NotifyGrab, detail NotifyAncestor

ClientMessage event, serial 32, synthetic YES, window 0x1a00001,
    message_type 0x143 (WM_PROTOCOLS), format 32, message 0x142 (WM_DELETE_WINDOW)
Kind thanks to everyone

Last edited by Canine; 06-22-2015 at 02:35 PM. Reason: problem solved, see last post
 
Old 06-20-2015, 01:42 PM   #2
genss
Member
 
Registered: Nov 2013
Posts: 744

Rep: Reputation: Disabled
Code:
FocusOut event, serial 32, synthetic NO, window 0x1a00001,
    mode NotifyGrab, detail NotifyAncestor
means it was grabbed
what grabbed it, idk

it was probably grabbed on root
maybe by the wm

for example openbox grabbing shift alt m
Code:
KeyPress event, serial 47, synthetic NO, window 0x1400001,
    root 0x293, subw 0x0, time 28847669, (-126,89), root:(829,106),
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 47, synthetic NO, window 0x1400001,
    root 0x293, subw 0x0, time 28847821, (-126,89), root:(829,106),
    state 0x1, keycode 64 (keysym 0xffe7, Meta_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 47, synthetic NO, window 0x1400001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 47, synthetic NO, window 0x1400001,
    mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 47, synthetic NO, window 0x0,
    keys:  0   0   0   0   0   0   4   4   1   0   0   0   0   0   0   0   
           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   

KeyRelease event, serial 47, synthetic NO, window 0x1400001,
    root 0x293, subw 0x0, time 28849373, (-126,89), root:(829,106),
    state 0x9, keycode 58 (keysym 0x4d, M), same_screen YES,
    XLookupString gives 1 bytes: (4d) "M"
    XFilterEvent returns: False

KeyRelease event, serial 47, synthetic NO, window 0x1400001,
    root 0x293, subw 0x0, time 28849661, (-126,89), root:(829,106),
    state 0x9, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 47, synthetic NO, window 0x1400001,
    root 0x293, subw 0x0, time 28849661, (-126,89), root:(829,106),
    state 0x8, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False
a way to check what is grabbing... idk of a way to ask X
but you can use xtruss to run programs and grep which grabs it

xtruss program 2>&1 | grep GrabKey
 
1 members found this post helpful.
Old 06-21-2015, 09:24 AM   #3
Canine
LQ Newbie
 
Registered: Jun 2015
Location: NE of Italy
Distribution: Slackware current, multilib enabled
Posts: 4

Original Poster
Rep: Reputation: Disabled
Angry

Hi, thanks for the infos! Never heard of debug tools for X, will come in handy even when I'll get to solve this.
The problem seems like of tricky resolution: I get GrabKeyboard and GrabKey events (with key 43 and modifiers) referring to window IDs that I can't find with xlsclients or wmctrl -l... When called in xtruss -p, I get a BadMatch error.
Will xtruss all the other x clients, hoping to find the H stealer.

Edit: ok, the id, according to xwininfo, is that of the root window. Adding a XUngrabKey call in calmwm ain't helping me. How can I instruct X.org to stop stealing that key?

Last edited by Canine; 06-21-2015 at 10:42 AM.
 
Old 06-22-2015, 10:22 AM   #4
genss
Member
 
Registered: Nov 2013
Posts: 744

Rep: Reputation: Disabled
i think only the program that grabbed it can release it
at least i have not found a way yet (maybe if the window is a child of your window, maybe)

you can make an xinitrc.xterm containing just
Code:
#!/bin/sh
exec uxterm
then
xtruss cwm 2>&1 | grep GrabKey

the keycode should be the same as under another window manager (keycodes depend on things)
but the modifier should be shift

if its not the wm, start other programs that could grab the key with xtruss

also this stack* question says you can get via
xdotool key "XF86LogGrabInfo"
then looking at /var/log/Xorg.0.log
but it doesn't work for me
 
Old 06-22-2015, 02:34 PM   #5
Canine
LQ Newbie
 
Registered: Jun 2015
Location: NE of Italy
Distribution: Slackware current, multilib enabled
Posts: 4

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by genss View Post
i think only the program that grabbed it can release it
at least i have not found a way yet (maybe if the window is a child of your window, maybe)
Yeah, I know: tried to use a little c program to send an Ungrabkey, had no luck.

Anyways I did it.
I tried xtruss'ing every window from xwininfo -root -children, and, when I listened to dunst (a lean notification daemon) and pressed H, it reacted spitting out a confession of NotifyGrabbing.
Checking the config file, dunstrc, I noticed that one of the keybinds were wrong (alt+shift+h instead of mod1+shift+h), but it didn't break the config file, interpreting it instead as, guess what, shift+h. Imho it sounds like a bug, probably I'll submit a patch to dunst git, just because I rather prefer to miss a keybind than to have input forcibly stolen...
That also explained those "Unknown modifier: alt" error messages, exiting X (I'm a startx user)...
Now I can press H again! HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH

Thanks genss, knowledge of a useful program as xtruss is invaluable.

Last edited by Canine; 06-22-2015 at 02:36 PM.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
shift+End and Shift+Home key combo doesn't work right santana Linux - Hardware 6 04-23-2010 11:35 AM
shift+k in vim is not working hemanshurpatel Linux - Software 11 02-17-2010 12:21 AM
BASH SHELL “Shift + Page Up” NOT WORKING r00ster Linux - Newbie 4 09-07-2008 01:33 PM
Right Shift key not working correctly LDJ Linux - General 2 02-17-2007 07:32 AM
OpenOffice.org crashes when used along with SCIM/Skim when I press Shift+Z adityavpratap Ubuntu 0 09-15-2006 12:33 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 02:05 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration