Alt key gets stuck intermittently when 'Show position of pointer when the Control key is pressed' setting is active in the OS #52905

Closed
opened 2017-09-26 11:45:17 +02:00 by Davy Herben · 11 comments

System Information
LinuxMint 18.2 (Cinnamon), GTX980M on Alienware 17R3

Blender Version
Broken: 2.79-1505206035a-0thomas~xenial0 (Thomas Schiekx PPA)

I believe this is a variation of the recurring 'modifier keys don't like deactivating and reactivating windows' theme. Logging this mostly to help others with the same issue.

The symptoms:

When working in blender, the Alt key frequently gets stuck. This happens in combination with the CTRL key, e.g. when I press CTRL+S, CTRL+ALT+S gets registered, and blender shows the Save As screen. It happens in all views (e.g. in the Save As view, I can not select a filename). Tapping the Alt key gets it unstuck, but it gets stuck again after pressing the Ctrl key. The stickiness does not happen on every CTRL press, I would say about 50% of the time. It makes blender completely unworkable.

I have installed the Screencast Keys addon, and it includes the fake ALT key presses (i.e. it shows CTRL+ALT+S). I have also installed key-mon, a similar tool on the OS level, and that does NOT include said ALT key presses (i.e. it shows CTRL+S). I have tried several keyboards, always same results.

I have traced the issue to the 'Show position of pointer when the Control key is pressed' toggle in Cinnamons Mouse and Touchpad settings. The function of this toggle is to display a short animation around the mouse cursor to locate it on the screen, whenever the CTRL key is pressed by itself. MacOS has a similar feature.

I have run blender with --debug-events, with the following results:

  • Show position of pointer ON, no fake ALT registered:
wm_event_do_handlers: Handling event
wmEvent  type:260 / WINDOW_DEACTIVATE, val:1 / PRESS,
         shift:0, ctrl:0, alt:0, oskey:0, keymodifier:0,
         mouse:(845,1027), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8a70f88

wm_event_do_handlers: Handling event
wmEvent  type:212 / LEFT_CTRL, val:1 / PRESS,
         shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0,
         mouse:(845,1029), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31208

wm_event_do_handlers: Handling event
wmEvent  type:115 / S, val:1 / PRESS,
         shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0,
         mouse:(845,1029), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288
wm_handlers_do_intern:       handled! 'WM_OT_save_mainfile'

wm_event_do_handlers: Handling event
wmEvent  type:115 / S, val:2 / RELEASE,
         shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0,
         mouse:(845,1029), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288

wm_event_do_handlers: Handling event
wmEvent  type:212 / LEFT_CTRL, val:2 / RELEASE,
         shift:0, ctrl:0, alt:0, oskey:0, keymodifier:0,
         mouse:(899,904), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288
  • Show position of pointer ON, fake ALT registered:

wm_event_do_handlers: Handling event
wmEvent  type:260 / WINDOW_DEACTIVATE, val:2 / RELEASE,
         shift:0, ctrl:0, alt:0, oskey:0, keymodifier:0,
         mouse:(519,518), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31208

wm_event_do_handlers: Handling event
wmEvent  type:212 / LEFT_CTRL, val:1 / PRESS,
         shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0,
         mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31308

wm_event_do_handlers: Handling event
wmEvent  type:214 / RIGHT_ALT, val:1 / PRESS,
         shift:0, ctrl:1, alt:3, oskey:0, keymodifier:0,
         mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288

wm_event_do_handlers: Handling event
wmEvent  type:115 / S, val:1 / PRESS,
         shift:0, ctrl:1, alt:3, oskey:0, keymodifier:0,
         mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31388
wm_handlers_do_intern:       handled! 'WM_OT_save_as_mainfile'

wm_event_do_handlers: Handling event
wmEvent  type:20512 / UNKNOWN, val:1 / PRESS,
         shift:0, ctrl:1, alt:3, oskey:0, keymodifier:115,
         mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288
ED_screen_refresh: set screen
wm_handlers_do_intern:       handled! 'FILE_OT_highlight'

wm_event_do_handlers: Handling event
wmEvent  type:272 / TIMER, val:0 / NOTHING,
         shift:0, ctrl:1, alt:3, oskey:0, keymodifier:0,
         mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31388

wm_event_do_handlers: Handling event
wmEvent  type:272 / TIMER, val:0 / NOTHING,
         shift:0, ctrl:1, alt:3, oskey:0, keymodifier:0,
         mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288

wm_event_do_handlers: Handling event
wmEvent  type:115 / S, val:2 / RELEASE,
         shift:0, ctrl:1, alt:3, oskey:0, keymodifier:0,
         mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288

wm_event_do_handlers: Handling event
wmEvent  type:212 / LEFT_CTRL, val:2 / RELEASE,
         shift:0, ctrl:0, alt:3, oskey:0, keymodifier:0,
         mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288
  • Show position of pointer OFF, no fake ALT registered:
wm_event_do_handlers: Handling event
wmEvent  type:212 / LEFT_CTRL, val:1 / PRESS,
         shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0,
         mouse:(899,904), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288

wm_event_do_handlers: Handling event
wmEvent  type:115 / S, val:1 / PRESS,
         shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0,
         mouse:(899,904), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288
wm_handlers_do_intern:       handled! 'WM_OT_save_mainfile'

wm_event_do_handlers: Handling event
wmEvent  type:115 / S, val:2 / RELEASE,
         shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0,
         mouse:(899,904), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288

wm_event_do_handlers: Handling event
wmEvent  type:272 / TIMER, val:0 / NOTHING,
         shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0,
         mouse:(899,904), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288

wm_event_do_handlers: Handling event
wmEvent  type:212 / LEFT_CTRL, val:2 / RELEASE,
         shift:0, ctrl:0, alt:0, oskey:0, keymodifier:0,
         mouse:(899,904), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288

As you can see, having the option on causes a WINDOW_DEACTIVATE event whenever the CTRL key gets pressed. In the case where it goes wrong, blender registers a RIGHT_ALT pressed event, without a corresponding release event.

I hope this helps to solve the problem. I have worked around it by simply switching off the option.

**System Information** LinuxMint 18.2 (Cinnamon), GTX980M on Alienware 17R3 **Blender Version** Broken: 2.79-1505206035a-0thomas~xenial0 (Thomas Schiekx PPA) I believe this is a variation of the recurring 'modifier keys don't like deactivating and reactivating windows' theme. Logging this mostly to help others with the same issue. The symptoms: When working in blender, the Alt key frequently gets stuck. This happens in combination with the CTRL key, e.g. when I press CTRL+S, CTRL+ALT+S gets registered, and blender shows the Save As screen. It happens in all views (e.g. in the Save As view, I can not select a filename). Tapping the Alt key gets it unstuck, but it gets stuck again after pressing the Ctrl key. The stickiness does not happen on every CTRL press, I would say about 50% of the time. It makes blender completely unworkable. I have installed the Screencast Keys addon, and it includes the fake ALT key presses (i.e. it shows CTRL+ALT+S). I have also installed key-mon, a similar tool on the OS level, and that does NOT include said ALT key presses (i.e. it shows CTRL+S). I have tried several keyboards, always same results. I have traced the issue to the 'Show position of pointer when the Control key is pressed' toggle in Cinnamons Mouse and Touchpad settings. The function of this toggle is to display a short animation around the mouse cursor to locate it on the screen, whenever the CTRL key is pressed by itself. MacOS has a similar feature. I have run blender with --debug-events, with the following results: * Show position of pointer ON, no fake ALT registered: ``` wm_event_do_handlers: Handling event wmEvent type:260 / WINDOW_DEACTIVATE, val:1 / PRESS, shift:0, ctrl:0, alt:0, oskey:0, keymodifier:0, mouse:(845,1027), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8a70f88 wm_event_do_handlers: Handling event wmEvent type:212 / LEFT_CTRL, val:1 / PRESS, shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0, mouse:(845,1029), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31208 wm_event_do_handlers: Handling event wmEvent type:115 / S, val:1 / PRESS, shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0, mouse:(845,1029), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288 wm_handlers_do_intern: handled! 'WM_OT_save_mainfile' wm_event_do_handlers: Handling event wmEvent type:115 / S, val:2 / RELEASE, shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0, mouse:(845,1029), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288 wm_event_do_handlers: Handling event wmEvent type:212 / LEFT_CTRL, val:2 / RELEASE, shift:0, ctrl:0, alt:0, oskey:0, keymodifier:0, mouse:(899,904), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288 ``` * Show position of pointer ON, fake ALT registered: ``` wm_event_do_handlers: Handling event wmEvent type:260 / WINDOW_DEACTIVATE, val:2 / RELEASE, shift:0, ctrl:0, alt:0, oskey:0, keymodifier:0, mouse:(519,518), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31208 wm_event_do_handlers: Handling event wmEvent type:212 / LEFT_CTRL, val:1 / PRESS, shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0, mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31308 wm_event_do_handlers: Handling event wmEvent type:214 / RIGHT_ALT, val:1 / PRESS, shift:0, ctrl:1, alt:3, oskey:0, keymodifier:0, mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288 wm_event_do_handlers: Handling event wmEvent type:115 / S, val:1 / PRESS, shift:0, ctrl:1, alt:3, oskey:0, keymodifier:0, mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31388 wm_handlers_do_intern: handled! 'WM_OT_save_as_mainfile' wm_event_do_handlers: Handling event wmEvent type:20512 / UNKNOWN, val:1 / PRESS, shift:0, ctrl:1, alt:3, oskey:0, keymodifier:115, mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288 ED_screen_refresh: set screen wm_handlers_do_intern: handled! 'FILE_OT_highlight' wm_event_do_handlers: Handling event wmEvent type:272 / TIMER, val:0 / NOTHING, shift:0, ctrl:1, alt:3, oskey:0, keymodifier:0, mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31388 wm_event_do_handlers: Handling event wmEvent type:272 / TIMER, val:0 / NOTHING, shift:0, ctrl:1, alt:3, oskey:0, keymodifier:0, mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288 wm_event_do_handlers: Handling event wmEvent type:115 / S, val:2 / RELEASE, shift:0, ctrl:1, alt:3, oskey:0, keymodifier:0, mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288 wm_event_do_handlers: Handling event wmEvent type:212 / LEFT_CTRL, val:2 / RELEASE, shift:0, ctrl:0, alt:3, oskey:0, keymodifier:0, mouse:(519,519), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288 ``` * Show position of pointer OFF, no fake ALT registered: ``` wm_event_do_handlers: Handling event wmEvent type:212 / LEFT_CTRL, val:1 / PRESS, shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0, mouse:(899,904), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288 wm_event_do_handlers: Handling event wmEvent type:115 / S, val:1 / PRESS, shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0, mouse:(899,904), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288 wm_handlers_do_intern: handled! 'WM_OT_save_mainfile' wm_event_do_handlers: Handling event wmEvent type:115 / S, val:2 / RELEASE, shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0, mouse:(899,904), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288 wm_event_do_handlers: Handling event wmEvent type:272 / TIMER, val:0 / NOTHING, shift:0, ctrl:1, alt:0, oskey:0, keymodifier:0, mouse:(899,904), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288 wm_event_do_handlers: Handling event wmEvent type:212 / LEFT_CTRL, val:2 / RELEASE, shift:0, ctrl:0, alt:0, oskey:0, keymodifier:0, mouse:(899,904), ascii:'', utf8:'', keymap_idname:(null), pointer:0x7fadb8b31288 ``` As you can see, having the option on causes a WINDOW_DEACTIVATE event whenever the CTRL key gets pressed. In the case where it goes wrong, blender registers a RIGHT_ALT pressed event, without a corresponding release event. I hope this helps to solve the problem. I have worked around it by simply switching off the option.
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @dherben

Added subscriber: @dherben
Member

Added subscribers: @Sergey, @LazyDodo

Added subscribers: @Sergey, @LazyDodo
Sergey Sharybin was assigned by Ray molenkamp 2017-09-28 19:15:17 +02:00
Member

Seems like a linux/ghost thing, mind taking a peek here @Sergey?

Seems like a linux/ghost thing, mind taking a peek here @Sergey?

GHOST simply converts X11 events to more Blender understandable ones, there is no place in code which will trigger right alt event wuthout corresponding X11 event.

Does the same happen when you press control in xev ?

GHOST simply converts X11 events to more Blender understandable ones, there is no place in code which will trigger right alt event wuthout corresponding X11 event. Does the same happen when you press control in `xev` ?

Added subscriber: @mont29

Added subscriber: @mont29

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'

There is a rampant issue with alt key and Blender since years, under Linux (Gnome at least)… When you use alt-tab combo to switch between apps, Blender detects alt-down before losing focus, but sometimes it gets focus back too late somehow, and does not get the 'alt-up' event, so it still believes alt is pressed until you press/release it again. Point being, keyboard handling by modern desktops is rather complex and not always fully consistent.

Anyway, more than a week without reply. Due to the policy of the tracker archiving for until required info/data are provided.

There is a rampant issue with alt key and Blender since years, under Linux (Gnome at least)… When you use alt-tab combo to switch between apps, Blender detects alt-down before losing focus, but sometimes it gets focus back too late somehow, and does not get the 'alt-up' event, so it still believes alt is pressed until you press/release it again. Point being, keyboard handling by modern desktops is rather complex and not always fully consistent. Anyway, more than a week without reply. Due to the policy of the tracker archiving for until required info/data are provided.
Member

There is a rampant issue with alt key and Blender since years, under Linux (Gnome at least)… When you use alt-tab combo to switch between apps, Blender detects alt-down before losing focus, but sometimes it gets focus back too late somehow, and does not get the 'alt-up' event, so it still believes alt is pressed until you press/release it again. Point being, keyboard handling by modern desktops is rather complex and not always fully consistent.

Anyway, more than a week without reply. Due to the policy of the tracker archiving for until required info/data are provided.

I have this exact issue on Windows 11. Blender has the alt key as stuck or pressed when Coming from other apps via alt-tab. Bear in mind that Blender seems to be the only app that is acting this way, no app has the alt key anomaly when changing between apps.

> There is a rampant issue with alt key and Blender since years, under Linux (Gnome at least)… When you use alt-tab combo to switch between apps, Blender detects alt-down before losing focus, but sometimes it gets focus back too late somehow, and does not get the 'alt-up' event, so it still believes alt is pressed until you press/release it again. Point being, keyboard handling by modern desktops is rather complex and not always fully consistent. > > Anyway, more than a week without reply. Due to the policy of the tracker archiving for until required info/data are provided. > I have this exact issue on Windows 11. Blender has the alt key as stuck or pressed when Coming from other apps via alt-tab. Bear in mind that Blender seems to be the only app that is acting this way, no app has the alt key anomaly when changing between apps.

It might be better idea to submit a new report. This one is different platform and is quite old.
If the issue is still there and covers multiple platforms we can/should start new investigation.

It might be better idea to submit a new report. This one is different platform and is quite old. If the issue is still there and covers multiple platforms we can/should start new investigation.
Member

If anyone ends up in this issue please follow up on the new one that I opened

#105277

If anyone ends up in this issue please follow up on the new one that I opened https://projects.blender.org/blender/blender/issues/105277
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#52905
No description provided.