When two keymaps are configured on the system and the current isn't the first one Blender use both #48911

Closed
opened 2016-07-20 19:45:37 +02:00 by Nicolas · 11 comments

System Information
KDE neon User Edition 5.7 (based on Ubuntu 16.04 xenial) x64

Blender Version
Broken: 2.77a

Short description of error
I have two keymaps configured on my system (x11 keymaps). The first one is bépo (french dvorak) and the second one qwerty. When qwerty is active Blender handles hotkeys for both keymaps. For example pressing the T key opens the tool shelf, but pressing J (which is the T key on bépo) also open the tool shelf. Same behavior is observed for other hotkeys.

Behavior is not observed if bépo is the active keymap. Actually behavior is not observed if the active keymap is the first one in the keymap list.

Exact steps for others to reproduce the error

  • Configure two keymaps on the system (using the control panel provided by your desktop environment, I only tested with KDE).
  • Enable the second keymap.
  • Start Blender.
  • Press T key -> tool shelf opens (expected).
  • Press the key that is T on the first keymap -> tool shelf also open (not expected).
**System Information** KDE neon User Edition 5.7 (based on Ubuntu 16.04 xenial) x64 **Blender Version** Broken: 2.77a **Short description of error** I have two keymaps configured on my system (x11 keymaps). The first one is bépo (french dvorak) and the second one qwerty. When qwerty is active Blender handles hotkeys for both keymaps. For example pressing the T key opens the tool shelf, but pressing J (which is the T key on bépo) also open the tool shelf. Same behavior is observed for other hotkeys. Behavior is not observed if bépo is the active keymap. Actually behavior is not observed if the active keymap is the first one in the keymap list. **Exact steps for others to reproduce the error** - Configure two keymaps on the system (using the control panel provided by your desktop environment, I only tested with KDE). - Enable the second keymap. - Start Blender. - Press T key -> tool shelf opens (expected). - Press the key that is T on the first keymap -> tool shelf also open (not expected).
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @MadWatch

Added subscriber: @MadWatch

#48847 was marked as duplicate of this issue

#48847 was marked as duplicate of this issue

Added subscriber: @mont29

Added subscriber: @mont29

This likely the same issue as #47228, please try the latest build from our buildbot, should be fixed there (hopefully :| ).

This likely the same issue as #47228, please try the latest build from [our buildbot](https://builder.blender.org/download), should be fixed there (hopefully :| ).
Author

In #48911#382704, @mont29 wrote:
This likely the same issue as #47228, please try the latest build from our buildbot, should be fixed there (hopefully :| ).

I tried 2.77-08e1bba. Issue is not fixed.

> In #48911#382704, @mont29 wrote: > This likely the same issue as #47228, please try the latest build from [our buildbot](https://builder.blender.org/download), should be fixed there (hopefully :| ). I tried 2.77-08e1bba. Issue is not fixed.
Bastien Montagne self-assigned this 2016-09-02 10:36:14 +02:00

Yeah… in fact you are right, #47228 was for non-latin keyboards, in that case (since native first layout generates no valid X11 keytype), we can fallback to getting string value of key and convert it to our Blender event type.

But if getting keytype returns a valid value, then we stick to XLookupKeysym value for event type - and that X11 function always uses first defined keyboard layout for some mysterious reasons :(

We can try some other ways around (like, using XLookupString with only exception of main number keys to handle layers switching correctly)… But would wait for after 2.78 now, this is too risky at this stage of release cycle.

Yeah… in fact you are right, #47228 was for non-latin keyboards, in that case (since native first layout generates no valid X11 keytype), we can fallback to getting *string* value of key and convert it to our Blender event type. But if getting keytype returns a valid value, then we stick to `XLookupKeysym` value for event type - and that X11 function always uses first defined keyboard layout for some mysterious reasons :( We can try some other ways around (like, using XLookupString with only exception of main number keys to handle layers switching correctly)… But would wait for after 2.78 now, this is too risky at this stage of release cycle.

Added subscriber: @jefrau

Added subscriber: @jefrau

OK, have patch ready for this, seems to work nice here… will apply after master is unfreezed - it’s too risky for 2.78 release anyway imho.

OK, have patch ready for this, seems to work nice here… will apply after master is unfreezed - it’s too risky for 2.78 release anyway imho.

This issue was referenced by 16cb939163

This issue was referenced by 16cb9391634dcc50ee674852b80c70ccb5f05c43

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
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
3 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#48911
No description provided.