Novum / vkQuake

Vulkan Quake port based on QuakeSpasm
GNU General Public License v2.0
1.85k stars 225 forks source link

Wip keymodifiers #601

Open Jbudone opened 1 year ago

Jbudone commented 1 year ago

NOTE: I'm not looking to submit this yet -- still WIP

I'm looking for some early feedback to see if this is something that would get accepted and merged @Novum

temx commented 1 year ago

What is the intended purpose and how does this compare to using alias (alias +shiftdown "bind F2 command_f2_down;bind F3 command_f3_down"; alias -shiftdown "bind F2 command_f2_up;bind F3 command_f3_up"; bind shift "+shiftdown")?

Jbudone commented 1 year ago

Oh interesting! I didn't know of this trick

The purpose is to allow binding with shift (and potentially more). It feels silly this day in age to have an engine that doesn't natively support keybind modifiers

; save/practice spot 1
bind "SHIFT+F1" "save 1"
bind "F1" "load 1"

; save/practice spot 2
bind "SHIFT+F2" "save 2"
bind "F2" "load 2"

If aliasing is already an option then this is merely a less hacky solution, cleaner solution

Jbudone commented 1 year ago

Poke @Novum I left the CI issues until I can get some feedback. I'm interested to hear if this is something we'd like for the engine, or if I'm just wasting time here :smile:

I personally think its a fairly simple change, low to no maintenance, and feels like a normal expectation to allow modifiers for controls. @temx mentioned a hacky alternative that works, so this doesn't solve anything new, but others like me may not realize that trick exists, and it feels silly to depend on a hacky trick when we could support it directly in the engine

Novum commented 1 year ago

What's the actual use for this? I haven't seen many games support modifiers. It also adds quite a bit of possible new bug surface.

Jbudone commented 1 year ago

temx asked the same thing above (my answer in previous comment). Its convenience without having to depend on the trick he mentioned