-
-
Notifications
You must be signed in to change notification settings - Fork 21k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3D editor freelook does not work correctly before changing editor shortcuts on non-QWERTY keyboards #11777
Comments
I think LEFT UP RIGHT DOWN should be added. that is useful anyways and the easiest fix. |
All freelook keys can be rebound in editor shortcuts. If you have problems with AZERTY, it could not only concerns freelook, but all shortcuts involving character keys... unless they go through a different process? |
@Zylann i do? Damn it... Cool that remapping is already supported. |
Some keyboard type detection and remapping code for Window and macOS already there, but it is used only on macOS. |
This bug occurs in both the editor and exported games. It's really annoying (I'm an AZERTY user as well), since it requires you to re-bind most keys in programs which don't support keyboard layout translation. Note that the key configuration dialogs should display the key the user will have to press to trigger the action (regardless of the chosen keyboard layout, it should also work if the user switches between layouts). For example, if the user binds Z to move forward, this key will have to be displayed in the GUI, instead of W (as that would be the key on the same position, but on QWERTY). |
@toger5 yes this solution can be viable :). Just in case we change for LEFT UP RIGHT DOWN, be care because for the moment it's used to switch from 3D view to the left or right panel. BTW I don't think that is the best way to solve this problem. Using auto detect to setup freelook to QZDS when AZERTY is a smatter way and user don't need to setup manually/user don't think "whats this buggy engine" :). |
Well it's not a bug, just a missing functionality. AZERTY users (of which I am) know well enough that they can't expect software to cater automatically to their buggy keyboard layout, especially FPS/TPS using WASD for movement (and incidentally, our freelook controls). Either we implement keyboard type detection and conversion logic on all platforms as outlined by @bruvzg (in which case it's a feature request that goes far beyond the scope of the freelook usability), or we can add presets in the editor settings for QWERTY / QWERTZ / AZERTY to automatically swap the relevant keys. The former would be the best solution, and could be exposed for games and make internationalization a lot easier, but should likely be discussed in its own issue. |
Fun fact: I am an AZERTY user and I coded the part where it polls the keys, and I set the default values to be QWERTY because I could set only one default set of keys (just like other hotkeys assume this layout to nicely line up). All of that knowing that these are rebindable anyways, because it's the simplest solution. |
@green-coder Dvorak layout selected from macOS settings works ok form me (3.1 master and 3.0.2 stable), key are detected as they displayed in settings preview, both in editor input and key mappings. macOS 10.13.3 (17D102), with QWERTY PC keyboard. |
@green-coder That's standard Dvorak, if you have "Programmer Dvorak" variant with |
Hi. I moved my comment to #808. |
Ctrl+S is not recognized properly, I have to press Ctrl+O instead (that's the position of the S in QWERTY and AZERTY). |
@green-coder please test #17827 with your keyboard. |
This issue still happens. |
I feel like the best way to deal with this would be to separate scan codes (physical key locations) with symbols (what's drawn on the key). Action mapping should be done by scancode (i.e. pressing A on AZERTY would be the same as pressing Q on QWERTY) whereas events will still have the symbol for when you actually want to type something. |
@clarfonthey Physical scancodes are already supported in We could fix this with the default key bindings in 4.0, but the current editor shortcut remapping dialog doesn't support inputting physical scancodes. Also, we need to handle conflicts with other non-physical keys that may be bound by default. |
Oh, nice! Yeah, physical scancode support is definitely the solution for this, and I'm glad it's coming to 4. |
What conflicts? Is it not possible to convert all shortcuts of Godot to layout-independent and only leave the things related to texts (like input fields)? |
In applications, some shortcuts rely on their key letter to be easy to understand. For instance, if you assign M to a "move" shortcut, you wouldn't want it to move to a different letter depending on the keyboard layout. Otherwise, the shortcut becomes harder to remember depending on the user's keyboard layout. This is different in games where the physical key location generally more important than its intended meaning. |
Tangent issue, but I use my mouse to the left of my keyboard, and wasd is quite uncomfortable for me. Thanks for the tip about "editor shortcuts." |
As of 4.0.beta17, the editor now allows assigning physical key shortcuts in the Editor Settings' Shortcuts tab. The main challenge for providing this configuration by default is assigning shortcuts that use physical key inputs by default. It should be possible but not trivial – you will need to create the Shortcut manually, rather than use a predefined macro. Feel free to open a pull request for this if you manage to 🙂 Freelook shortcut defaults are configured here: godot/editor/plugins/node_3d_editor_plugin.cpp Lines 5050 to 5055 in 2fdaf29
|
Operating system or device, Godot version, GPU Model and driver (if graphics related):
Any OS, godot 3.0
Issue description:
Keys binded to the 3D freelook are wrong with AZERTY keyboard.
Solution :
The text was updated successfully, but these errors were encountered: