godot-orchestrator icon indicating copy to clipboard operation
godot-orchestrator copied to clipboard

German Keyboard Layout: `Ctrl+/` (Slash) does not toggle Component Panels

Open dschiller opened this issue 1 year ago • 2 comments

Describe the bug

Using german Keyboard layout does not toggle the Componet Panels. With english Keyboard Layout it works. The slash (/) on the german Keyboard needs Shift+7, in combination with Ctrl that then will be Ctrl+Shift+7.

Expected behavior

No matter which Keyboard layout is used the Keyboard shortcut should work.

Actual behavior

With german Keyboard layout the shortcut Ctrl+/ can not be executed.

How to Reproduce?

  1. Open Godot
  2. Create new Orchestrator EventGraph
  3. Use german Keyboard layout
  4. Press Ctrl+Shift+7 (Ctrl+/) >> Component Panels do not toggle

Godot full version

4.3.rc3

Orchestrator version

2.1.rc4

Additional information

No response

dschiller avatar Aug 12 '24 21:08 dschiller

So with PopupMenu items, all we do is bind the key mapping to the item, in this case, KEY_MASK_CTRL | KEY_SLASH. We then rely solely on Godot to call the popup menu handler when that key mapping is triggered. If that does not happen on German locale-based keyboard configurations, then this sounds more like a Godot editor limitation.

I've reached out to the devs to see what details they can share if there is something special we need to do in our code.

Naros avatar Aug 16 '24 05:08 Naros

So according to the Godot devs, since we bind KEY_MASK_CTRL | KEY_SLASH as the accelerator but German keyboards don't have the SLASH key, then the accelerator since won't work & won't fire. This is expected behavior.

This just underscores the need for Godot to allow GDExtension developers to define shortcut definitions and to let users customize those within the Editor Settings :(

Naros avatar Aug 16 '24 05:08 Naros