-1

I just updated my arch linux to gnome shell 3.18, then I restarted and my "m" is gone, it does nothing when I press it. I've tried to use it and works when I search an app or I'm typing in the Alt+F2 command box but I cant use it in the console, browser or any other place. Here is the xev output for the m key >

FocusOut event, serial 36, synthetic NO, window 0x2800001,
mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 36, synthetic NO, window 0x2800001,
mode NotifyUngrab, detail NotifyAncestor

KeymapNotify event, serial 36, synthetic NO, window 0x0,
keys: 2 0 0 0 0 0 0 4 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 36, synthetic NO, window 0x2800001,
root 0xd4, subw 0x0, time 635522, (301,-434), root:(808,373),
state 0x10, keycode 58 (keysym 0x6d, m), same_screen YES,
XLookupString gives 1 bytes: (6d) "m"
XFilterEvent returns: False

and here for any other key. I must say that (shift + m) works fine.

KeyPress event, serial 36, synthetic NO, window 0x2800001,
root 0xd4, subw 0x0, time 724970, (425,97), root:(932,904),
state 0x10, keycode 57 (keysym 0x6e, n), same_screen YES,
XLookupString gives 1 bytes: (6e) "n"
XmbLookupString gives 1 bytes: (6e) "n"
XFilterEvent returns: False

KeyRelease event, serial 36, synthetic NO, window 0x2800001,
root 0xd4, subw 0x0, time 725051, (425,97), root:(932,904),
state 0x10, keycode 57 (keysym 0x6e, n), same_screen YES,
XLookupString gives 1 bytes: (6e) "n"
XFilterEvent returns: False

I think there may be some keyboard shortcut binded to the character m but I've searched all the dconf and I haven't found anything.

localectl status output:

System Locale: LANG=es_ES.UTF-8
VC Keymap: es
X11 Layout: es,us
X11 Variant: ,

PD: I can write m by setting caps lock and using shift+m but this is painfull.

0

1 Answer 1

1

Your keyboard works fine, but your m key is being hijacked by some other program. This is shown by the first two stanzas in your output: can you see the Modify{Grab|Ungrab} lines? They indicate that the output of the key is grabbed by a different program.

What that program really is, is anyone's guess. Recent versions of X11 do have the ability to investigate this, but this is normally disabled in vanilla X11 installs. In Linux, you will need to install the package xdotools to acquire the ability to use these features.

You activate this by means of the command

 xdotools key $KEY

where $KEY is one of:

  • XF86LogGrabInfo: prints a list of the current grabs to /var/log/Xorg.0.log

  • XF86Ungrab: deletes current grabs, but it does not kill the processes which performed the grabbing

  • XF86ClearGrab: kills the processes that have grabbed your keys.

This is discussed in the ever helpful Arch Linux Wiki, and references therein, and in particular they suggest a small cute trick to see who is passively grabbing your key. It consists, (adapted to your case) of the following one-liner:

xdotool keydown "m"; xdotool key "XF86LogGrabInfo"; xdotool keyup "m"; tail /var/log/Xorg.0.log

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .