For Windows, there is the _getch
function, which returns the bytes of a key code, one by one. You can get a function key that way, detecting it by the presence of certain codes: 0x00
or 0xe0
as shown in the example in [CC++] - how get arrow keys(correctly) using getch()?. When _getch
returns one of those, the next byte is normally a virtual key code.
For making sense of those codes, the place to start reading is the Keyboard Input Reference, looking for virtual keys. Microsoft provides a list here: Virtual-Key Codes
Some people might advise starting with getch
, but Microsoft provides this only for legacy use (does not recommend its use in new programs due to conflict with POSIX, and provides _getch
as the alternative).
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…