Files
Bubberstation/code/datums/hotkeys_help.dm
Zonespace f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00

41 lines
1.0 KiB
Plaintext

/datum/hotkeys_help
var/static/list/hotkeys = list()
/datum/hotkeys_help/ui_state()
return GLOB.always_state
/datum/hotkeys_help/ui_interact(mob/user, datum/tgui/ui)
ui = SStgui.try_update_ui(user, src, ui)
if (!ui)
ui = new(user, src, "HotkeysHelp")
ui.open()
// Not static data since user could rebind keys.
/datum/hotkeys_help/ui_data(mob/user)
// List every keybind to chat.
var/list/keys_list = list()
// Show them in alphabetical order by key
var/list/key_bindings_by_key = user.client.prefs.key_bindings_by_key.Copy()
sortTim(key_bindings_by_key, cmp = GLOBAL_PROC_REF(cmp_text_asc))
for(var/key in key_bindings_by_key)
// Get the full names
var/list/binding_names = list()
for(var/kb_name in key_bindings_by_key[key])
var/datum/keybinding/binding = GLOB.keybindings_by_name[kb_name]
binding_names += list(list(
"name" = binding.full_name,
"desc" = binding.description
))
// Add to list
keys_list += list(list(
"key" = key,
"bindings" = binding_names
))
return list(
"hotkeys" = keys_list
)