Left arrow cursor key not working?

I don’t know why, but the left arrow cursor key isn’t working.

Running xev shows an interesting thing: it generates a KeyRelease event, but there is no matching KeyPress event:

KeymapNotify event, serial 34, synthetic NO, window 0x0,
keys: 2 0 0 0 0 0 0 0 0 0 0 0 16 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

KeyRelease event, serial 34, synthetic NO, window 0x3200001,
root 0x13b, subw 0x0, time 81235044, (164,-17), root:(1027,8),
state 0x10, keycode 100 (keysym 0xff51, Left), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False

Has this happened to somebody else? How do you solve it?:frowning:

It may be that it is maped wrong, or isn’t maped at all. Try

xmodmap -pke

to see which keycodes are maped to which keys, and see if Keycode 100 is really maped to key Left.

It may also be a HAL problem, there is a command to monitor HAL events, similar to xev, but don’t remember the command now it is something similar to

hal -m

, but check hal docs first to find the correct command.

Hi! I checked that, but the key does appear; see number 113 below. What’s more maddening is that the key does work in the login screen; it just fails after starting KDE.

keycode 110 = Home NoSymbol Home NoSymbol Home
keycode 111 = Up NoSymbol Up NoSymbol Up
keycode 112 = Prior NoSymbol Prior NoSymbol Prior
keycode 113 = Left NoSymbol Left NoSymbol Left
keycode 114 = Right NoSymbol Right NoSymbol Right
keycode 115 = End NoSymbol End NoSymbol End
keycode 116 = Down NoSymbol Down NoSymbol Down
keycode 117 = Next NoSymbol Next NoSymbol Next
keycode 118 = Insert NoSymbol Insert NoSymbol Insert
keycode 119 = Delete NoSymbol Delete NoSymbol Delete

hal -m
correct is lshal -m
Hi! I checked that, but the key does appear; see number 113 below. What’s more maddening is that the key does work in the login screen; it just fails after starting KDE.

keycode 110 = Home NoSymbol Home NoSymbol Home
keycode 111 = Up NoSymbol Up NoSymbol Up
keycode 112 = Prior NoSymbol Prior NoSymbol Prior
keycode 113 = Left NoSymbol Left NoSymbol Left
I don’ think this is correct. With xev you got the keycode 100 when pressing left arrow button, while in xmodmap you have keycode 113 maped as Left Key. So I gues just mapping isn’t correct. You can try this way. Make a file xmap and put inside this code

keycode 100 = Left NoSymbol Left NoSymbol Left

and from konsole run

xmodmap xmap

this will replace the current map of key 100, and try to see if it works. If it doesn’t, just reboot to get the previous map back.

I don’t know what’s the matter, but today I’m getting the following:

KeyRelease event, serial 34, synthetic NO, window 0x4000001,
    root 0x13c, subw 0x0, time 209769099, (168,-36), root:(172,508),
    state 0x10, keycode 113 (keysym 0xff51, Left), same_screen YES, 
    XKeysymToKeycode returns keycode: 100                           
    XLookupString gives 0 bytes:                                    
    XFilterEvent returns: False                                     

KeyPress event, serial 34, synthetic NO, window 0x4000001,
    root 0x13c, subw 0x0, time 209770769, (168,-36), root:(172,508),
    state 0x10, keycode 116 (keysym 0xff54, Down), same_screen YES, 
    XLookupString gives 0 bytes:                                    
    XmbLookupString gives 0 bytes:                                  
    XFilterEvent returns: False                                     

KeyRelease event, serial 34, synthetic NO, window 0x4000001,
    root 0x13c, subw 0x0, time 209770926, (168,-36), root:(172,508),
    state 0x10, keycode 116 (keysym 0xff54, Down), same_screen YES, 
    XLookupString gives 0 bytes:                                    
    XFilterEvent returns: False                                     

KeyPress event, serial 34, synthetic NO, window 0x4000001,
    root 0x13c, subw 0x0, time 209777945, (168,-36), root:(172,508),
    state 0x10, keycode 116 (keysym 0xff54, Down), same_screen YES, 
    XLookupString gives 0 bytes:                                    
    XmbLookupString gives 0 bytes:                                  
    XFilterEvent returns: False                                     

KeyRelease event, serial 34, synthetic NO, window 0x4000001,
    root 0x13c, subw 0x0, time 209778116, (168,-36), root:(172,508),
    state 0x10, keycode 116 (keysym 0xff54, Down), same_screen YES, 
    XLookupString gives 0 bytes:                                    
    XFilterEvent returns: False                                     

KeyPress event, serial 34, synthetic NO, window 0x4000001,
    root 0x13c, subw 0x0, time 209779242, (168,-36), root:(172,508),
    state 0x10, keycode 114 (keysym 0xff53, Right), same_screen YES,
    XLookupString gives 0 bytes:                                    
    XmbLookupString gives 0 bytes:                                  
    XFilterEvent returns: False

BTW, I tried replacing the keyboard; problem was exactly the same.

I also tried replacing the 100 and 113 keys in xmodmap, but then got

KeyRelease event, serial 34, synthetic NO, window 0x4000001,
    root 0x13c, subw 0x0, time 209968169, (856,316), root:(860,860),
    state 0x10, keycode 113 (keysym 0xff51, Left), same_screen YES,
    XKeysymToKeycode returns keycode: 100
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

What I don’t get either, is why there is no KeyPress event.

I just rebooted, tried xev again, and got:

FocusOut event, serial 34, synthetic NO, window 0x3400001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 34, synthetic NO, window 0x3400001,
    mode NotifyUngrab, detail NotifyAncestor

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

KeyRelease event, serial 34, synthetic NO, window 0x3400001,
    root 0x13c, subw 0x0, time 183464, (164,-8), root:(1386,17),
    state 0x0, keycode 113 (keysym 0xff51, Left), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

The FocusOut, FocusIn, and KeymapNotify events do NOT occur for the other three cursor (arrow) keys… what gives?

An extra detail: the keypad cursor keys do work fine, CTRL+LEFT does work (goes back a word at a time) and SHIFT+LEFT also works (selects text to the left), so it’s only the plain, standalone, LEFT key that fails.

I got an idea, which worked out fine: I opened DESKTOP SETTINGS, INPUT ACTIONS, and created an action for the LEFT key – getting the following error:

The shortcut ‘Left’ conflicts with the following key combinations:
Shortcut ‘Left’ in Application Plasma Workspace for action Activate Pager Widget

I reassigned the key to my action, and then deleted it… and problem solved! It seems the LEFT key was wrongly assigned by Plasma to a function.

Thanks everybody for the help!

Well, I’m glad you made it working :slight_smile: