Page 1 of 1

Switching keyboard layout breaks keymaps

PostPosted: Sat Apr 11, 2020 8:37 pm
by d07RiV
The default /targetexact macro is bound to ]. If I switch my keyboard layout to one that has "ъ" on that key instead, the system breaks and the macro no longer works in keymaps - the binding in ISBoxer gets shown as "ъ" instead of "]" and I'm guessing the game doesn't recognize that key. Sometimes even switching the layout back doesn't help.

This breaks my healing binds and caused me a lot of grief when suddenly I can't heal the tank mid-pull. And sometimes to fix it I need to navigate to every mapped key in ISBoxer to make sure the correct binding is shown, before exporting settings again.

Re: Switching keyboard layout breaks keymaps

PostPosted: Sun Apr 12, 2020 4:26 am
by bob
If you switch keyboard layouts, and that changes the key being used, then the ISBoxer Addon will need to be updated so WoW knows what key it is expecting, which requires you to Export to InnerSpace, and this in turn in game will require a /reload to reload the Addon (unless you log out/back in again).

The VKey code 0xDD, which is used to ]} happens to be variable based on Keyboard Layouts.
Used for miscellaneous characters; it can vary by keyboard.
For the US standard keyboard, the ']}' key


ISBoxer itself, stores the VKey code, because, the output of a keyboard driver is the VKey code, and this is what needs to be presented to the receiving process. So ISBoxer's keyboard driver does what it should, and based upon your config, presents the VKey code. Just like the operating system would. The Keyboard Layout sits on top of this, and remaps the VKey code to a display key.
WoW 's keybind config for Addons happens to store the display value of keys, which in this case starts out as ]. So Wow is trying to match ], presumably by doing a reverse lookup of the registered display value to VKey code which is dependent on the current Keyboard Layout in use.

So, WoW is looking for ]. ISBoxer is presenting the VKey code. And the current Key Board layout in question ends up presenting ъ, and the ] and ъ are two different VKey codes. So no match.

Ideally, your ISBoxer config should be configured under the same keyboard layout as you will be playing under. So it all matches.

Re: Switching keyboard layout breaks keymaps

PostPosted: Sun Apr 12, 2020 3:47 pm
by d07RiV
Oh indeed, unlike most other keys changing layout breaks ].

However, switching the layout back doesn't fix the keymap issue, which is my main concern. As I said, after switching it back I have to go through ISBoxer settings to ensure it's got the correct key in all mapped keys that invoke the macro, and then re-export settings.

Re: Switching keyboard layout breaks keymaps

PostPosted: Sun Apr 12, 2020 3:58 pm
by bob
Yes, the toolkit is not specifically looking out for Keyboard Layout change events.

You should just be able to close and re-open the toolkit and have it pick up the other value. It also only stores it on the Macro in Game Helpers, and not on each usage, so after a exit and reload, that should be the only place that needs checking.

Re: Switching keyboard layout breaks keymaps

PostPosted: Tue Apr 14, 2020 10:00 am
by d07RiV
Ah I found the issue, it's not with the ISBoxer settings, but with the game instances somehow remembering the keyboard layout when they were last in focus, and receiving input in incorrect layout if it changed since then. This is probably a Windows issue then, rather unfortunate. Guess my best option is to change the binding to something that doesn't break when switching layouts.