So I'm trying to implement a quick command interpreter for a vim like style editor. Right now, I have my initial Bindings calling my custom command interpreter function when certain keys are pressed

example:

 1 2 3 4 5 Bind(jason_interpret_command, KeyCode_D); Bind(jason_interpret_command, KeyCode_Y); Bind(jason_interpret_command, KeyCode_V); Bind(jason_interpret_command, KeyCode_R); Bind(jason_interpret_command, KeyCode_G); 

Then, I use get_input and get_next_input functions to interpret the rest of the commands the user presses in order to perform some action. The way I currently expect get_user_input to work is have it return the Input_Event with info on the key and all modifiers pressed, if any. So I would expect something like this scenario when pressing 'ctrl' 'shift' and 'j' together:

 1 2 3 4 5 6 User_Input firstCommandInput = get_current_input(app); User_Input nextCommandInput = get_next_input(app, EventProperty_KeyWithModifiers, EventProperty_Escape); nextCommandInput.event.key.code //= 'j' nextCommandInput.event.key.modifiers.mods[0] //= 'shift' nextCommandInput.event.key.modifiers.mods[1] //= 'ctrl' 

But in reality, the only flag to use that captures any key input is the 'EventProperty_AnyKey' and this returns immediately w/ whatever key I hit first, whether that be 'ctrl', 'shift' or 'j', so I can't seem to capture them all together.

So how do I capture a key with all of it's modifiers intact using 4coder's api?