Page MenuHome

Ctrl, Shift, Alt keys not working or stuck at pressed state.
Closed, ArchivedPublic

Description

System Information
Operating system: Linux-4.15.0-48-lowlatency-x86_64-with-debian-buster-sid 64 Bits
Graphics card: GeForce GT 645M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 418.56

Blender Version
Broken: version: 2.80 (sub 60), branch: blender2.7, commit date: 2019-04-30 22:49, hash: rB480a09a92f7f
Worked: (optional)

Short description of error
Ctrl, Shift, Alt keys not working or stuck at pressed state.

Exact steps for others to reproduce the error
For example, for the Shift key:
Select defaul cube, press Shift+D. Expected - object is dublicated; Result - nothing happens;
To get Shift stuck - Press D+Shift (in this particular order), release keys. Shift get stuck in pressed state as a result, now objects can be dublicated just by pressing D, view can be panned by holding only mouse middle button, any "Shift+[key]" shortcut executed just by pressing [key], etc..
To unstuck: Switch to any another program window and back to Blender.

Same for Ctrl and Alt keys.

Same for 2.79b.

Based on the default startup.

Shorcuts are working fine in any other program.

Details

Type
Bug

Event Timeline

Sebastian Parborg (zeddb) triaged this task as Needs Information from User priority.

I can not reproduce this on my end. So this has probably something to do with your setup.

What WM are you using? You can see what input blender is getting by running xev and looking at what keys are printed when you push them in the xev window.

LInux Mint 19.1 Cinnamon. Up to date.
System info: https://termbin.com/iclsn
Shortcuts are working when menu that uses them is open (For ex. :Object -> Dublicate Objects working with Shift+D when menu is in focus)
xev ouput (d, shift+d, ctrl+d. seems fine):

KeyPress event, serial 38, synthetic YES, window 0x7200001,

root 0x304, subw 0x0, time 3143932, (122,2), root:(1964,702),
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 38, synthetic YES, window 0x7200001,

root 0x304, subw 0x0, time 3144099, (122,2), root:(1964,702),
state 0x0, keycode 40 (keysym 0x64, d), same_screen YES,
XLookupString gives 1 bytes: (64) "d"
XFilterEvent returns: False

KeyPress event, serial 38, synthetic YES, window 0x7200001,

root 0x304, subw 0x0, time 3145422, (122,2), root:(1964,702),
state 0x1, keycode 40 (keysym 0x44, D), same_screen YES,
XLookupString gives 1 bytes: (44) "D"
XmbLookupString gives 1 bytes: (44) "D"
XFilterEvent returns: False

KeyRelease event, serial 38, synthetic YES, window 0x7200001,

root 0x304, subw 0x0, time 3145578, (122,2), root:(1964,702),
state 0x1, keycode 40 (keysym 0x44, D), same_screen YES,
XLookupString gives 1 bytes: (44) "D"
XFilterEvent returns: False

KeyPress event, serial 38, synthetic YES, window 0x7200001,

root 0x304, subw 0x0, time 3147307, (122,2), root:(1964,702),
state 0x4, keycode 40 (keysym 0x64, d), same_screen YES,
XLookupString gives 1 bytes: (04) " "
XmbLookupString gives 1 bytes: (04) " "
XFilterEvent returns: False

KeyRelease event, serial 38, synthetic YES, window 0x7200001,

root 0x304, subw 0x0, time 3147429, (122,2), root:(1964,702),
state 0x4, keycode 40 (keysym 0x64, d), same_screen YES,
XLookupString gives 1 bytes: (04) " "
XFilterEvent returns: False

Something is wrong with your setup. This is what it should look like when you press d and shift+d

KeyPress event, serial 34, synthetic NO, window 0x600001,
    root 0x39e, subw 0x0, time 8998679, (233,428), root:(1195,466),
    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 34, synthetic NO, window 0x600001,
    root 0x39e, subw 0x0, time 8998719, (233,428), root:(1195,466),
    state 0x0, keycode 40 (keysym 0x64, d), same_screen YES,
    XLookupString gives 1 bytes: (64) "d"
    XFilterEvent returns: False

KeyPress event, serial 34, synthetic NO, window 0x600001,
    root 0x39e, subw 0x0, time 8999799, (233,428), root:(1195,466),
    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 34, synthetic NO, window 0x600001,
    root 0x39e, subw 0x0, time 9001487, (233,428), root:(1195,466),
    state 0x1, keycode 40 (keysym 0x44, D), same_screen YES,
    XLookupString gives 1 bytes: (44) "D"
    XmbLookupString gives 1 bytes: (44) "D"
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x600001,
    root 0x39e, subw 0x0, time 9001599, (233,428), root:(1195,466),
    state 0x1, keycode 40 (keysym 0x44, D), same_screen YES,
    XLookupString gives 1 bytes: (44) "D"
    XFilterEvent returns: False

KeyRelease event, serial 34, synthetic NO, window 0x600001,
    root 0x39e, subw 0x0, time 9001967, (233,428), root:(1195,466),
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

Note that the extra key event and the synthetic NO parameter. Are you using a virtual keyboard?

Ok, I figured out the problem is I have two layouts: English (US), Russian.
Adding Russian sets synthetic to YES. No other software IFAIK have issues with that.
Also CapsLock is mapped as Ctrl, but I dont think this is an issue, works fine when there is the only English layout.

If xev doesn't get the "key up/down" events for the modifer keys (shift/ctrl/alt etc), then there is not much we can do.

Bastien Montagne (mont29) closed this task as Archived.
Bastien Montagne (mont29) claimed this task.

Indeed… Not a blender bug, but something weird going on with your config…