That's why I call it _HITKEY. BASICally, INKEY$ rules!!!!
Pete
INKEY$ is just as bad. Try the following, for example:
Now hit I, CTRL-I, TAB, and CTRL-TAB. What's the output that you're seeing?
73 (or 105, depending on caps lock or shift state)
9
9
(nothing)
Ctrl-I is the exact same as TAB -- regardless of capslock, or shift-status, and CTRL-TAB doesn't even exist at all. It's absolutely impossible to generate a ctrl-tab keypress, or to designate the difference between SHFT-CTRL-I, CTRL-I, and TAB.
INKEY$ and _KEYHIT both fail to read multiple keypresses and combinations. Fellippe's solution is only viable in this one singular instance. Try to do the same with CTRL-M with INKEY$.... (Hint: It's the 13th letter of the alphabet, so much like J is 10, M is going to be.... ???) (Hint 2: What's the value of the ENTER key?)
When you start looking at extended key presses, or reading all the various key combinations you can make with your keyboard, you're going to have to make your own input handler. QB64's built in commands aren't up to the task.