Stanzilla / WoWUIBugs

World of Warcraft UI Bug Tracker
166 stars 7 forks source link

Key ` (below esc, left of 1) does not work under Russian keyboard layout through both UI binding and all API *Binding* calls. #490

Open rowaasr13 opened 11 months ago

rowaasr13 commented 11 months ago

I have EN and RU keyboard layouts. Most of keyboard have both one English and one Russian letter on alphabetic keys and all of them work regardless of currently selected layout.

If I assign anything through in-game UI to ` (apostrophe, key below Esc and to the left of 1), it works when current layout is EN and stops working if I hit layout-switch keys or otherwise switch to RU (e.g with mouse or programmatically). Switching layout back to EN makes it work again.

There is a workaround that can be used with SetOverrideBindingClick and similar functions:

SetOverrideBindingClick(bind_frame, false, '`', bind_frame:GetName())
SetOverrideBindingClick(bind_frame, false, string.char(194, 184), bind_frame:GetName())

Where string.char(194, 184) is UTF8 bytes for ё - Russian letter that shares key with `. But this workaround works ONLY if you set Windows system global setting "Language for non-Unicode programs" to "Russian".

None of other keys require any kind of workaround and they work without fiddling with system settings or making two binds. Besides this settings is only supposed to be relevant for outdated software and be of no effect to software made at least in last decade. The ` key should work as others do too.