Wie bekomme ich den Tastaturstatus in Linux?

8

Ich möchte prüfen, ob der Benutzer die SHIFT Taste gedrückt hat, wenn das Programm startet. (Das heißt, drücken Sie die SHIFT Taste, bevor das Programm gestartet wird.) Es ist ein einfaches Konsolenprogramm, nichts mit X verbunden.

Dies ist vielleicht ähnlich zu Win32 GetKeyboardState() -Funktion.

Ich möchte wissen, ob ich das machen kann und wie, aber nicht irgendwelche Vor-und Nachteile mit direktem Zugriff auf das Terminal.

    
Xiè Jìléi 06.09.2010, 08:01
quelle

2 Antworten

26

Ich denke, es würde einen Weg geben, dies zu tun. Die Sache ist, dass Sie direkt vom Tastaturgerät lesen müssten. Sie würden keine Eingabe vom Terminal erhalten. Ich habe das gleiche Problem. Ich habe ein Programm, das läuft (im Hintergrund) und ich möchte wissen, ob der Benutzer die Umschalttaste gedrückt hält.

Ich glaube, das ist möglich und ein Ort zum Starten könnte / dev / input / by-path / * - kbd.

sein

Diese Datei gibt jedes Mal, wenn eine Taste gedrückt wird, eine Eingabe oder, wenn sie gedrückt wird, eine Wiederholung, so dass es sich lohnt, einen Blick darauf zu werfen. (Versuchen Sie cat / dev / input / by-path / * - kbd)

Wenn Sie das herausfinden, würde ich gerne hören, wie Sie es gemacht haben.

EDIT: Ich habe die Lösung gefunden

Ich habe herausgefunden, wie das geht. Mein Programm ist folgendes:

%Vor%

Die Info-Nachricht fehlt (ich bin zu lasy). Aber im Wesentlichen wird das erste Argument mit einer Liste von Schlüsseln verglichen und der entsprechende Schlüsselidentifizierer wird verwendet. Es gibt True zurück, wenn die Taste gedrückt wird, und false, wenn nicht.

Bitte beachten

Sie müssen den Namen des Tastaturgeräts ändern. Ich kenne keine Möglichkeit, das Standardtastaturgerät zu finden. (Wenn Sie wissen, würde ich gerne hören;))

Das funktioniert wunderbar, ich benutze es, um den Autostart von Xorg zu starten, wenn ich die Shift-Taste gedrückt halte.

    
Youarefunny 19.11.2010 13:09
quelle
2

Ich habe einen sehr einfachen Weg durch gtk / gdk gefunden.

%Vor%     
Lyn 25.11.2017 04:10
quelle

Tags und Links