Unable to adjust keyboard settings for AZERTY keyboard

Fixed
Thibstars [github] · 4 years ago

Describe the issue
As an AZERTY user I'm forced to use the default WASD bindings, which don't make sense on an AZERTY keyboard.
To Reproduce
Steps to reproduce the behavior:
There is nothing foreseen to change key bindings.

Expected behavior
Ability to update key bindings.

Captain Filip Captain Filip · 4 years ago

Thanks for the report. Key bindings are on our high-priority list and we add them to the game soon. Sorry for the inconvenience in the mean time.

JamieRCHI [github] · 4 years ago

Is there a list of all key bindings in the game somewhere? The list that is shown in game is not complete. I could not find this in the Wiki.

HenryLoenwind [github] · 4 years ago

Thanks for the report. Key bindings are on our high-priority list and we add them to the game soon. Sorry for the inconvenience in the mean time.

BTW: You are using the wrong keyboard API. You don't want "cooked" characters but raw keystrokes unless a text entry field has the focus. That's the reason your default bindings move around on the keyboard and that dead keys don't work. With the proper keyboard API Z on a French keyboard would move up and ยด on a German keyboard would work (on second thought, it would bind to ^ which is the key next to 1, but that is a dead key in some German layouts, too).

Captain Filip Captain Filip · 4 years ago

Key-bindings have been added so this should now work. Regarding wrong keyboard API, we are using what Unity provides us so unfortunately that is a bit tricky to change at this moment.

HenryLoenwind [github] · 4 years ago

Key-bindings have been added so this should now work. Regarding wrong keyboard API, we are using what Unity provides us so unfortunately that is a bit tricky to change at this moment.

I'm pretty sure this is not a general Unity issue. Unity is used too much for this to be hidden inside.

Check how you define your (default/saved) key mappings. There should be two very similar ways of doing it, one where you provide a character (e.g. "when 'A' is pressed") and one where you give it the keycode (e.g. "when Keys.KEY_A is pressed", this references the US layout for key names) or scancode (e.g. "when key 31 is pressed"). In this case, you naturally need to call some function to translate it to a display string, but that's the only part that depends on they keyboard layout the user has selected.

The nice thing about using key/scan codes is that it doesn't matter which keyboard layout the user has. The default mapping addresses the key location and the settings dialog displays whatever is printed on that key.

Closed as ✅ Fixed

6 Showing 1–6 of 6