If the current keyboard layout is RU, then the winset does not work correctly for letters
Numbered Steps to Reproduce Problem:
1. Set RU keyboard layout
2. Use winset to set macros
Code Snippet (if applicable) to Reproduce Problem:
/client/verb/loocc()
/client/verb/reset_macros()
erase_all_macros()
for(var/key in list("F4", "L"))
winset(src, "macro-\ref[key]", "parent=macro;name=[key];command=loocc")
world.log << "[winget(src, "macro-\ref[key]", "command;name;")]"
/client/proc/erase_all_macros()
var/erase_output = ""
var/list/macro_set = params2list(winget(src, "macro.*", "command")) // The third arg doesnt matter here as we're just removing them all
for(var/k in 1 to length(macro_set))
var/list/split_name = splittext(macro_set[k], ".")
var/macro_name = "[split_name[1]].[split_name[2]]" // [3] is "command"
erase_output = "[erase_output];[macro_name].parent=null"
winset(src, null, erase_output)
Expected Results:
command=loocc;name=F4
command=loocc;name=L
Actual Results:
command=loocc;name=F4
command=;name=
Does the problem occur:
Every time? Or how often?
In other games?
In other user accounts?
On other computers?
When does the problem NOT occur?
Change manually keyboard layout to EN and reset macros again
Mostly is when users start game while in RU layout, looks like as if DS is losing ЙЦУКЕН/QWERTY key binds and they don't work regardless of layout.
But if user start game while in ENG layout, then everything works on both layouts.
Something similar with DreamMaker macros editor "Find key" button, maybe can be used for tests.