Ich habe eine Accessity -App entwickelt, mit der Benutzer mit einem Spielcontroller an Windows navigieren können. Die App funktioniert mit dem linken Joystick, um die Maus und den rechten Joystick zu bewegen, um Aktionen auszuführen (z. B. Up = Click, Down = Alt-Click usw.). Es wird im Hintergrund ausgeführt und verwendet einen Gamepad -Hook, um Eingaben und Windows -APIs zu erkennen, um die entsprechenden Aktionen auszulösen. Es blockiert nicht die richtigen Joystick -Eingaben, was sowohl zu den Aktionen der App als auch zu dem gleichzeitigen auftretenden nativen Gamepad -Verhalten führt. Im Wesentlichen wird der richtige Joystick -Eingang sowohl von meiner App als auch von Windows erkannt, was zu Konflikten führt. /p>
if (controller.IsConnected) {
var state = controller.GetState();
// Get the joystick positions
var leftThumbX = state.Gamepad.LeftThumbX / 32767.0f; // Normalize to -1.0 to 1.0
var leftThumbY = state.Gamepad.LeftThumbY / 32767.0f;
}
< /code>
Sharpdx.xinput scheint jedoch keine Möglichkeit zu bieten, die Eingabeereignisausbreitung abzufangen oder zu blockieren. Das Ziel ist es, dass meine App die Eingabe ausschließlich vom richtigen Joystick empfängt und verhindern, dass Fenster oder andere Prozesse darauf reagieren. Vigembus, aber diese Bibliotheken erfordern externe Installationen, die ich vermeiden möchte, um die App für die App für Barrierefreiheit in sich selbst zusammenzufassen. Ich habe auch mithilfe der Windows -API die Eingabe in einer niedrigeren Ebene untersucht, es scheint jedoch nur für Tastatur und Maus mit bereits bestehenden Treibern möglich zu sein. Fassen Sie die richtigen Joystick-Eingaben ab, so dass nur meine App sie empfängt, während (hoffentlich) die Lösung in sich geschlossen ist (ohne externe Bibliotheken oder Installationen zu verlangen)?
Controller (Gamepad) -Haken, der Ereignisse unterdrücken/blockieren kann [geschlossen] ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post