But it is definitely very sad to have to type own keyboard solution. But I believe that if you combine INKEY$ and _KEYHIT, you would probably achieve the same effect. Or really not?
So with _KEYHIT, we can't even generate a key down event for CTRL-TAB, and our key up code is the one for CTRL-I instead!!
I'm looking at
https://docs.microsoft.com/en-us/windows/win32/api/_inputdev/
kinda complicated.
TYPE KeyboardInfo_Type
Index AS LONG
ASCII AS LONG
Ctrl AS LONG
Shift AS LONG
Alt AS LONG
AltGr AS LONG
Repeat AS _FLOAT
LastHit AS _FLOAT
Down AS LONG
AltShift AS LONG
AltCtrl AS LONG
AltAltGr AS LONG
CtrlShift AS LONG
CtrlAlt AS LONG
CtrlAltGr AS LONG
ShiftAltGr AS LONG
CtrlAltShift AS LONG
END TYPE
r = GetKeyState(Keys(i).Index) AND &H8000
The highest bit tells if key is pressed. The lowest tells if key is toggled (like, if caps lock is turned on).