Verwenden von ncurses zum Erfassen von Mausklicks in einer Konsolenanwendung

8

Ich mache eine Konsolenanwendung für Unix-Plattformen und benutze die Bibliothek curses (oder ncurses), um Tastatur- und Mauseingaben zu handhaben. Das Problem ist, dass ich sehr wenig Dokumentation darüber gefunden habe, wie man es genau dafür verwendet, und zwar von dieser Seite und dieses , die keine sehr detaillierten Beispiele haben. Es ist mir gelungen, den linken Klick zu erfassen, aber ich kann ihn nicht für den Rechtsklick verwenden, da das Optionsmenü für den Terminalemulator an der Cursorposition angezeigt wird, das Ereignis jedoch von der Anwendung nicht verarbeitet wird. Wie kann ich dies vermeiden und das Ereignis in der Anwendung erfassen lassen?

Ich habe die folgende Zeile für die Konfiguration von Mausereignissen:

%Vor%

Und in der Methode, die die Eingabe verarbeitet, habe ich folgendes:

%Vor%

Ich habe auch versucht, mousemask() mit der ALL_MOUSE_EVENTS -Maske zu konfigurieren, aber es werden immer noch keine Ereignisse in der letzten else -Klausel gedruckt, daher denke ich, dass das Ereignis einfach nicht ausgelöst wird. Jede Hilfe dazu wäre sehr willkommen.

    
Pedro Cori 02.07.2012, 22:13
quelle

3 Antworten

9

Für alle anderen, die hierher kommen, um herauszufinden, warum sie überhaupt keine Mausereignisse mit Ncurses erfassen können, ist dies wahrscheinlich die Zeile, die Sie brauchen:

%Vor%

Ohne dies habe ich keine Mausereignisse mit getch() erhalten.

Es fehlt in allen Tutorials / Beispielen, die ich gesehen habe, deshalb brauchte ich viel Zeit, um herauszufinden, was mit meinem Code nicht stimmt - vielleicht hilft diese Antwort anderen, die Lösung schneller zu finden als ich.

    
Designation 14.12.2012 22:18
quelle
2

Die rechte Maustaste ist Taste 3, nicht Taste 2. Taste 2 ist die mittlere.

    
LeoNerd 04.07.2012 10:24
quelle
0

Ich habe Ihren Code benutzt, aber ich kann keine Reaktion bekommen. Nicht einmal die linke Maustaste funktioniert.

Ist das der vollständige Code?

%Vor%     
user1455085 09.11.2012 14:33
quelle

Tags und Links