Fixes Preferences key binding problem Issue #29597 (#30554)

* Copied and fixed code from issue #29597

* fixed whitespace, make linter happy?

* okay LAST whitespace

* comments with hopefully enough information + whitespace fix
This commit is contained in:
hyperholy
2025-10-04 17:24:17 +00:00
committed by GitHub
parent d1d1393ee2
commit 193f1a222f
@@ -780,7 +780,13 @@ GLOBAL_LIST_INIT(special_role_times, list(
var shift = e.shiftKey ? 1 : 0;
var numpad = (95 < e.keyCode && e.keyCode < 112) ? 1 : 0;
var escPressed = e.keyCode == 27 ? 1 : 0;
var url = 'byond://?_src_=prefs;preference=keybindings;set=[KB.UID()];old=[url_encode(old)];clear_key='+escPressed+';key='+encodeURIComponent(e.key)+';alt='+alt+';ctrl='+ctrl+';shift='+shift+';numpad='+numpad+';key_code='+e.keyCode;
var number = 0;
if(e.keyCode >= 48 && e.keyCode <= 57) { <!-- keycodes 48-57 equate to 0-9, e.key returns the key eg, ! instead of shift + 1 -->
number = e.keyCode - 48; <!-- gets the number from the keycode and we use that instead of e.key -->
var url = 'byond://?_src_=prefs;preference=keybindings;set=[KB.UID()];old=[url_encode(old)];clear_key='+escPressed+';key='+number+';alt='+alt+';ctrl='+ctrl+';shift='+shift+';numpad='+numpad+';key_code='+e.keyCode;
} else {
var url = 'byond://?_src_=prefs;preference=keybindings;set=[KB.UID()];old=[url_encode(old)];clear_key='+escPressed+';key='+encodeURIComponent(e.key)+';alt='+alt+';ctrl='+ctrl+';shift='+shift+';numpad='+numpad+';key_code='+e.keyCode;
}
window.location=url;
deedDone = true;
}