F1, F2 usw... in der Shell abfragen?
-
Hi @ all.
Hab mal ne frage.
Schreibe momentan ein Terminal Programm unter Linux.
Wollte mein menue wie in alten dos zeiten peer F1, F2 usw.
aufrufen. jedoch weiss ich nicht wie...hab es schon versucht mit "cin" jedoch bekomme ich für
jede Taste " [24;1H " heraus...höffe könnt mir weiter helfen...
mfg Sibob
-
Passt glaub ich besser nach "Linux/Unix".
-
Warum?
Das muesste es doch auch unter Windows geben...?
-
schau dir mal die ncurses an.
-
Ja...
Und wie?
Habe mal 'Key', 'KeyName' und 'cout << getch();' ausprobiert.
jedoch ohne erfolg.
-
Sibob schrieb:
Habe mal 'Key', 'KeyName' und 'cout << getch();' ausprobiert.
jedoch ohne erfolg.ahja, ohne Erfolg ist schon blöd.
Guck mal zB hier: http://dickey.his.com/ncurses/ncurses-intro.html
Da findest du ein Beispiel.
-
Naja... thx
'keypad(stdscr, TRUE)' kompiliert er mnicht...
und sonnst steht da nicht wirklich was, wie es futzen könnte.Da steht zwar wie ich die Maus Tasten abfragen kann aber bringt mir momentan wenig...
-
"er kompiliert nicht"? Fehlermeldung? Du musst einem schon etwas entgegenkommen wenn man dir helfen soll
Vielleicht hast du vergessen die curses-lib mitzulinken.. gcc -lncursesDas Beispiel sollte sich übersetzen lassen: http://dickey.his.com/ncurses/ncurses-intro.html#using
getch() liefert dann zB. KEY_F2 oder so. Siehe manpage zu getch.
-
Ich kann dir die genaue Fehlermeldung nicht mehr nennen...
weiss nur noch das er das aktuelle Terminal Fenster nicht finden konnte.und -lncurses gebe ich auch an... nutze <curses.h> schon länger, wegen move(X,Y).
ja, und getch bzw. getche bekomme ich eine char kette mit dem Werten:
F1 -> '27 91 49 49 126'
F2 -> '27 91 49 50 126'das tuts ja jetzt erstmal. Hatte mir es jedoch nen bischen leichter vorgestellt.
THX @ ALL