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:
wo gibt's sowas, nach 40 Jahren C und Unix/Linux ?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 ...







Zitieren

Lesezeichen