Ist es möglich, den Status der Umschalt- und Steuertasten programmatisch festzulegen?

8

Der Grund, warum ich frage, ist, dass ich daran denke, einen Fußschalter zu bauen, der als Schalt- und Steuerungstasten dient - also zwei Schalter, einen für jeden Fuß.

Ich plane die Verwendung des Arduino und schreibe eine kleine C # -Anwendung, um zu erkennen, wann der Schalter gedrückt wurde Stellen Sie dann den Status der Verschiebung oder Kontrolle ein. Ich hätte lieber keinen Tastaturtreiber für den Arduino schreiben müssen, wie ich es auch gerne machen würde.

    
Stephen Harrison 27.03.2010, 00:17
quelle

2 Antworten

9

Ja, es ist möglich, aber Sie müssen zu Win32 pInvozieren. Sehen Sie sich den keydb_event Aufruf an.

%Vor%

Sie können dann anrufen:

%Vor%

zum Einschalten der Umschalttaste (dh Taste unten) und:

%Vor%

um es wieder auszuschalten (zB Taste hoch).

Das erste Argument ist der Hexadezimalwert des zu drückenden Schlüssels:

  • 0x10 = Verschiebung
  • 0x11 = Strg
  • 0x12 = alt

Ich habe das gerade in einer einfachen C # -Anwendung versucht, indem ich ein Kontrollkästchen verwende, um die Umschalttaste darzustellen. Wenn es überprüft wurde, hat es die Umschalttaste für jede Anwendung, die ich benutzt habe, "gehalten".

    
adrianbanks 27.03.2010, 00:39
quelle
0

Wenn Sie nur die Vordergrundanwendung steuern möchten, besteht die einfachste Lösung darin, WM_KEYDOWN- und WM_KEYUP-Nachrichten zum Drücken und Loslassen Ihres Pedals an die aktive Anwendung zu senden.

Ich könnte mich irren (und klügere Köpfe, fühle mich frei, mich zu korrigieren, wenn ich es bin!), aber ich glaube, dass, um ein aktuelles System-Level-Tastenkürzelereignis zu erzeugen - z.B. Damit Windows die Keydown / Keyup-Meldungen für Sie erstellt und korrekt funktioniert, selbst wenn Sie die Anwendungen wechseln, während das Pedal gedrückt ist, müssen Sie einen Eingabetreiber schreiben.

    
Dan Story 27.03.2010 00:24
quelle

Tags und Links