Tastatur unter Linux abfragen
-
Welche Funktionen werden unter Linux benutzt , um die Tastatur abzufragen?
Also sowas ähnliches wie unter Windows die Funktion GetAsyncKeyState
-
Wenn Du die Tastatur "systemweit" abfangen willst, kommst Du um Kernelprogrammierung nicht wirklich umher... Schau Dir an wie der Tastaturtreiber funktioniert und hijacke eine Funktion nach Wunsch
Wenn Du Tasten "nur" in Deinem Programm abfangen willst, besteht die einfachste Möglichkeit darin mit ncurses zu arbeiten.
Mfg, Lord Kefir
-
ncurses? Ich kenne mich leider nicht so aus... köntest du etwas mehr Infos zu ncurses liefern? Oder vielleich ein link?
-
ncurses hast Du wahrscheinlich bereits installiert - es handelt sich dabei um eine Bibliothek zur Erstellung grafischer Oberflächen (Konsole).
Das sollte Dir weiterhelfen: http://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO
Mfg, Lord Kefir
ps: systemweit kannst'e auch einen Interrupt-Handler verwenden - ist dann nur plattformabhängig aber dafür recht einfach zu implementieren.
-
Danke erstmal!
ZU TASTATUR SYSTEMWEIT ABFRAGEN: Nö , ich will nur dass mein Programm auf Tastendruck reagiert.
-
Okay... dachte nur erst wegen Deiner Win32-API-Funktion an den Versuch einer systemweiten Abfrage
Ist ja auch wurscht... viel Spaß mit ncurses...Mfg, Lord Kefir
-
Danke.
-
eher termios, darauf basiert im endeffekt ncurses.
Siehe einfach in die FAQ
-
Hatte noch nicht genug Zeit mich mit ncurses oder termios zu beschäftigen ,
aber ich hab da noch eine Frage:
Wie kann ich Die Maus/Cursor Position abfragen?Also nicht die Cursorposition in der Konsole , sondern die x/y Koordinaten des Mauscursors.(Ich suche sowas ähnliches wie GetCursorPos())
Und noch die letzte Frage: Wie kann ich den Mauscursor in meinem Fenster verstecken/unsichtbar machen? Diese Frage bezieht sich wieder NICHT auf die Konsole.(Also ich will NICHT den Eingabecursor verschwinden lassen sondern den Mauszeiger , wenn er über meinem Fenster ist)
Die letzte Frage stelle ich , da ich mich gerade etwas mit SDL beschäftige und ich will dass der Mauszeiger verschwindet, wenn er über meinem Fenster ist.
-
Bei SDL gibs ne funktion, die heißt galub ich SDL_ShowCursor( int show );
der du dann 1 oder 0 übergibst, je nachdem ob du den Mauszeiger sehen willst oder nicht. Guck auch mal in die SDL-Doku, da findest du auch was zur Mausposition.
-
@-Foo-:
Danke , SDL_ShowCursor funktioniert.