2008-10-25 8 views
17

Gibt es eine Möglichkeit, Eingaben von mehr als einer Maus separat zu akzeptieren? Ich bin daran interessiert, eine Multi-User-Anwendung zu erstellen, und ich dachte, es wäre großartig, wenn zwei oder mehr Benutzer kabellose Mäuse hätten, die jeweils mit einem separaten Mauspfeil interagieren würden.Mehrere Mauszeiger?

Ist das etwas, was ich versuchen sollte, um eine andere Anwendung/Treiber/os_magic zu bewirtschaften? oder gibt es eine Bibliothek, mit der ich das erreichen kann? Sprache ist kein HUGE Deal, aber C, C++ und Python sind vorzuziehen.

Thanks :)

edit:

Fand dieses Multi-Pointer-Toolkit für Linux (es ist eigentlich ein Multi-Zeiger x-Server): http://wearables.unisa.edu.au/mpx/

+0

Da Sie Ihre bevorzugte Antwort ausgewählt haben, die die Frage eigentlich nicht beantwortet, veröffentlichen Sie bitte, was Sie darüber finden. – Davide

+0

natürlich! die Multipoint-SDK lässt Sie tatsächlich mehrere Mäuse mit mehreren Zeigern verwenden;) – Jiaaro

+1

Übrigens wird MPX in kommenden x.org-Versionen eingebaut sein. Es wird eine Weile dauern, bis alle Toolkits und Apps vollkommen flüssig sind ... – bobince

Antwort

8
+0

Dieser Link ist kaputt - kann jemand mit ausreichendem Rep ihn reparieren? –

+0

es funktioniert gut für mich jetzt .. entweder jemand repariert es oder es war nur vorübergehend. – ShoeLace

+0

Beachten Sie, dass das MultiPoint SDK nur mit Anwendungen auf WinForms- oder WPF-Basis funktioniert, da für die Initialize-Methode ein System.Windows.Window erforderlich ist. –

5

Ja. Ich kenne mindestens ein Programm, das dies tut, . Ich denke, es ist in Java geschrieben und wurde von Juan Pablo Hourcade entwickelt, jetzt an der University of Iowa. Sie müssten ihn fragen, wie es umgesetzt wurde.

1

Sie könnten DirectInput mit C/C++ verwenden (es gibt wahrscheinlich auch Bindungen in anderen Sprachen). Sie verwenden IDirectInput8::EnumDevices() (mit DX8; gleiche Funktion, andere Schnittstelle in anderen Versionen von DirectX), um eine Liste aller angeschlossenen Geräte zu erhalten. Dann erstellen Sie die Geräte und rufen sie ab IDirectInputDevice8::Poll(). Dies sollte fast definitiv mit einer beliebigen Anzahl von Mäusen, Tastaturen und anderen Eingabegeräten funktionieren. MSDN hat wirklich gute Dokumentation zu diesem Thema.

+0

Dies funktioniert nicht unter Windows XP, stattdessen sollten Sie RawInput verwenden. Siehe hier: http://jstookey.com/arcade/rawmouse/ – kshahar

1

Ich habe das vage Gefühl, dass BeOS verwendet wurde, um eine Maus und eine Tastatur paaren zu lassen und separate aktive Fenster und Eingänge zu haben. Wow ... das war lange her. Ich dachte, es wäre sehr interessant für "gepaarte" Programmierung.