tl;dr: some very basic macros, templates, and other required config for my USB foot pedal setup & software.
foot pedals. buttons for your feet. pretty wild stuff.
in most cases i configure them as simple generic bindings, where each pedal is bound to a different function key (F7 -> F10). each key is just bound to context context specific actions ex. push-to-talk for comms, holding breath and toggling sights in Tarkov, etc. i have some more specific setups for things like flask pianoing in Path of Exile, and spamming left click when it's called for.
they're useful things. highly recommend.
- install the GWS IDI software
git clone [email protected]:meatwallace/useful-feet-stuff.git somewhere/
mv somewhere/{*,.*} C:\Users\Public\Public Hardware\GWS\IDI Device\macro/
KeyActionHid
is used for basic key press lifecycle management. it's function
signature looks like:
// pseudo-code
KeyActionHid(modifier: ModifierHexcodeMask, key: KeyHexcode, action: Action)
- key codes are mapped to a hexcode ID specific to USB 1.11 from what i can tell
- they can be found at this helpful gist. a copy of the above gist is inlined in the repo here for posterity.
the modifier
arg maps to the above hexcodes reference specifically for
modifier masks.
NOTE: it may not be limited to the subset listed below, however these are the only ones creatable via the macro builder UI. diverging from these (ex. using right side modifier keys) is entirely untested.
0x00
-> NONE0x01
-> CTRL0x02
-> SHIFT0x04
-> ALT0x08
-> META (or "GUI" in GWS IDI UI)
the key
arg should be resolved using the above hexcode reference.
the action
arg includes values to create a press -> release
lifecycle as
well as another code for the entire lifecycle in one action:
0
-> press1
-> release30
-> complete key press
// (ALT, F4, press)
KeyActionHid(0x04,0x42,1)