hallo,
wer kennt eine C/C++ lib für Sonderzeichenkombinationen (F1-12, +shift, alt, ctrl), um sie als Art "scancode" von der Tastatur zu lesen?
es soll so ähnlich funktionieren wie mit getch() / getchar(), nur dass nicht ein ASCII Zeichen gelesen werden soll, sondern ein einzigarteiger "Scancode" für die Tastenkombi (also keine Folge von einzelnen chars), z.B.
64031 für F1
65031 für ctrl+F1
66031 für shift+F1
...
usw,
praktischerweise auch
27 für ESC und
65 für 'A' etc,
um sie einfach abfragen und behandeln zu können, wie hier im Pseudocode:
Code:
int32_t i=getkeycode();
if(i==27) {...} // ESC: return NULL, terminate program (quit)
else
if(i==64031) {...} // F1: switch openVG window 1
else
if(i==64032) {...} // F2: switch openVG window 2
else
if(i==64033) {...} // F3: switch openVG window 3
else
if(i==63001) {...} // ctrl + : zoom in
else
if(i==63002) {...} // ctrl - : zoom out
else
if(i==64111) {...} // cur_up: move slow forward
else
if(i==64112) {...} // cur_dn: move slow reverse
else
if(i==66111) {...} // shift+cur_up: move fast forward
else
if(i==66112) {...} // shift+cur_dn: move fast reverse
else
if(i==64113) {...} // cur_left: turn slow left
else
if(i==64114) {...} // cur_right: turn slow right
else
if(i==66113) {...} // shift+cur_left: turn strong left
else
if(i==66114) {...} // shift+cur_right: turn strong right
else
if(i==65113) {...} // ctrl+cur_left: spin left
else
if(i==65114) {...} // ctrl+cur_right: spin right
else
if(i==64120) {...} // end: stop move, coast
else
if(i==65120) {...} // ctrl+end: stop move, brake
...
Man bräuchte dazu allerdings auch eine Tabelle als Übersicht, um die Zeichen nachschlagen zu können:
Code:
key plain shift ctrl alt shift+ctrl ctrl+alt shift+alt shift+ctrl+alt
Home
Insert
Delete
End
Pgup
PgDn
F1
F2
F3
...
cur_up
cur_dn
cur_left
cur_right
...
A
B
C
...
a
b
c
...
wo gibt's sowas, nach 40 Jahren C und Unix/Linux ?
Lesezeichen