Jump to content

Request - Extended Key Input Mapping (such as Long Press for hotkeys)


ExtrariumV1

Recommended Posts

I was thinking of this when installing Dynamic Activation Key, the default keybind is Shift + E for extra actions which is a little awkward. I know you can rebind it to other keys but it makes sense for E as the base, so it would be nice to be able to bind it to a long press. I've been spoiled by Steam Input's extensive mapping support, and I think Skyrim's mod community could really benefit from being able to assign long presses, double clicks, holds, etc. to mod shortcuts instead of having to rely on awkward modifier combinations. It would be nice to be able to for instance:

  • interact with E but long press E for a dynamic interaction like eating bread right in the world without a pop-up menu
  • binding dodge to tap shift but sprint to hold shift
  • tap ctrl to crouch, long press ctrl to go prone
  • etc.

Or for controller:

  • bind Select to inventory, long press Select to wait
  • bind a dodge mod to B, bind sprint to hold B
  • etc.

Apologies if a mod like this exists, I searched around as best as I could and the hotkey mods I found just expanded the amount of hotkeys you could use. The closest I found is AH Hotkeys that has the macro functions I'm talking about but it's limited to only equipment hotkeys for changing weapon/armor sets, not a universal keybind expansion.

Link to comment
Share on other sites

SKSE provides OnKeyUp and OnKeyDown events on the form script as well as several other key press related functions on the input script.

OnKeyUp has a hold time parameter which can be used to achieve long presses.

OnKeyDown along with IsKeyPressed can handle modifiers such as shift + e. Such that when shift is pressed and held first, e will do something different when pressed.

It's not that these types of things cannot exist, it is more that someone needs to decide that there is a reason for them to exist and develop the scripting to handle it.  One should also consider that having papyrus handle the game's input can become problematic.  Papyrus processing has its limits.  It can easily get delayed or interrupted by something that the game engine believes should be handled first.

 

  • Like 1
Link to comment
Share on other sites

Game already has long press concept:  as in just pressing E over an item will take it or otherwise interact with it, but a long press E will attach the item to cursor so you can move it around in the world (press E again to release).   But that is because there is special coding around OnKeyUp event for 'Activation' key.   Most things in game are programmed to fire on KeyDown or KeyUp events without any special programming to determine how long a press was.   It would be a real doozy to make those case not confuse long press with a short one. 

  • Like 1
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...