#########################
I : Keybind combos
Having the ability to bind combos of keys would be very nice for gamemode which have a lot of different binds
It'd allow to use a same key for 2 binds, if binded in addition to another key (which would be different in the 2 binds)
E.g: In case "RightMouseButton" is used to lock/unlock aim with a weapon, "Alt" + "RightMouseButton" could be used to change the scope type on the weapon
#########################
II : Better events
/ Option A: New
InputEvents
enums
It would be nice to have these following InputEvent enumerators:
  • InputEvent.DoubleClick
  • InputEvent.Continuous
In the context of
Input.Bind
, this would be the behaviour for the new enums:
  • DoubleClick
    trigger callback function once a double click on the binded key is detected
  • Continuous
    trigger callback function each tick the binded key is down
In the context of the enum used in
Input.InputKey
:
  • DoubleClick
    triggers a double click
  • Continuous
    fakes a press each tick
/ Option B: Create "Bind Types" to make the keybinds behaviour configurable by the user
Makes the client choose how each keybind should be treated, with one of the following options:
  • "Press"
  • "Release"
  • "Double Click"
  • "Continuous"
This option will probably bring some side effects tho, like making
InputEvent
parameter obsolete in
Input.Bind
I'll also maybe add the need to have the ability to limit which bind types can be used when registering a new bind (same thing for the native keys)
#########################
III: Misc.
Additionally, it would be nice to have the binding menu support mouse wheel up and mouse wheel down separately (currently all you can do is bind to mouse wheel)