In my other project, Tiel Attack, when implementing a minimap, my partner pointed out that having to hold the map key is annoying, and it should be tap. However, sometimes I'd rather hold the key then it disappears when I release it.
This lead me to realise: The inputs for this are actually, more or less, mutually exclusive. And so now, Tiel Attack's control for map is that if you tap the Map key, it will appear and stay there until you press the key again. If you hold the Map key, on the other hand, it will disappear as soon as you release the key. From memory, I think the cutoff point was 7 frames (for reference, Tiel Attack runs at 30fps, so roughly double NL's frame rate).
Now of course - we have similar keys in NL. Clear Physics Mode and Projection Shadow (both variants) can be used either via tapping on / tapping off, or by hold-to-activate. The difference is that these behaviours are mutually exclusive (but can be different for different keys, including that if you have two different keys for the same function, one can be tap while the other is hold).
But - I'm thinking, is there any reason not to implement a similar behaviour to Tiel Attack's minimap key here? So in other words - there'd no longer be a tap vs hold setting; instead, if you quickly tap the key, it activates the relevant feature until you tap it again; if you hold the key, the feature only remains active while you hold it.
It's likely this behaviour could extent to several other features as well, such as the fast forward / slowmo keys. Pause is a special case where I don't think this behaviour would make sense (though if you disagree, let me know).
I'll note that putting this as a third option in addition to both "always-tap" and "always-hold" is probably too much work.
Thoughts?