mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2025-12-19 14:51:27 +00:00
* SSinput Rewrite, Custom Keybindings
* hmm yes, safety
* azerty begone
* address AA and SteelSlayer
* Address the old man
* what
* CI dbconfig too
* Address TM issues
Unicode support
Better numpad support
Fix no perms message
Fix modifier screwing movement
* pre-TM tweak, nitfix
* pre TM change 2
* Display others
* MERGE ME
* unduplicates your rows
* reverts some changes, makes this work for now (not TM safe)
* fixes direction facing, removes hotkey help item
* weird keys
* TM commit revert later
* fixed asay/msay keybind
* adds ALL the emotes
* flip and spin
* makes old people happy
* and fixes admins not being able to msay
* lets borgs stow modules
* saves prefs when someone changes a keybind
* reverts skin changes and manually applies
HEAVEN HELP YOU IF YOU USE THE DM SKIN EDITOR IT BREAKS EVERYTHING
* tidies menu, unduplicates rest
* sql file pls come back
* Update SQL/updates/40-41.sql
* why did you not throw an error?!
* inits keybinds if your prefs somehow fail, i guess
* restores these spaces, i guess
* fixes local testing, i guess
* emote cooldown returns (oops)
* movement lock improvements
* Pageup does Swap Hands
* LOOC
* whisper for living mobs
* oops
* fix dsay
* fix IPC silicon emote hotkeys
* category name
* backspace only clears if input is focused
* Makes TAB and BACKSPACE rebindable
* charlie review
* define move
* yeet
* Lewcc review
* brings back legacy mode
* restores legacy mode
* tell legacy mode what is going on
* Update code/controllers/subsystem/input.dm
* Update code/controllers/subsystem/input.dm
Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
* safeties!
* legacy mode is a pref now
* undo TM changes
* null prefs safeties
* Revert "legacy mode is a pref now"
This reverts commit b45af65139.
* revert this too thanks
Co-authored-by: mochi <shenesis@gmail.com>
Co-authored-by: dearmochi <1496804+dearmochi@users.noreply.github.com>
Co-authored-by: AffectedArc07 <25063394+AffectedArc07@users.noreply.github.com>
58 lines
1.3 KiB
Plaintext
58 lines
1.3 KiB
Plaintext
/datum/keybinding
|
|
/// The user-facing name.
|
|
var/name
|
|
/// The UI category to belong to.
|
|
var/category = KB_CATEGORY_UNSORTED
|
|
/// The default key(s) assigned to the keybind.
|
|
var/list/keys
|
|
|
|
/**
|
|
* Returns whether the keybinding can be pressed by the client's current mob.
|
|
*
|
|
* Arguments:
|
|
* * C - The client.
|
|
* * M - The client's mob.
|
|
*/
|
|
/datum/keybinding/proc/can_use(client/C, mob/M)
|
|
return TRUE
|
|
|
|
/**
|
|
* Called when the client presses the keybind.
|
|
*
|
|
* Arguments:
|
|
* * C - The client.
|
|
*/
|
|
/datum/keybinding/proc/down(client/C)
|
|
if(should_start_looping(C))
|
|
SSinput.processing[C] = world.time
|
|
|
|
/**
|
|
* Called when the client releases the keybind.
|
|
*
|
|
* Arguments:
|
|
* * C - The client.
|
|
*/
|
|
/datum/keybinding/proc/up(client/C)
|
|
if(should_stop_looping(C))
|
|
SSinput.processing -= C
|
|
|
|
/**
|
|
* Called on keybind press to determine looping behaviour.
|
|
* If TRUE is returned, the client will be added to SSinput's processing loop. Use VERY sparingly.
|
|
*
|
|
* Arguments:
|
|
* * C - The client.
|
|
*/
|
|
/datum/keybinding/proc/should_start_looping(client/C)
|
|
return FALSE
|
|
|
|
/**
|
|
* Called on keybind release to determine looping behaviour.
|
|
* If TRUE is returned, the client will be removed from SSinput's processing loop.
|
|
*
|
|
* Arguments:
|
|
* * C - The client.
|
|
*/
|
|
/datum/keybinding/proc/should_stop_looping(client/C)
|
|
return FALSE
|