mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik USB Daten einer Maus abfangen + weitergeben zum PC


Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich möchte gerne eine USB maus später an mein AVR gehäuse anschließen 
und die Data kanäle 1:1 durchschleifen.
Also usb männlich vorn usb weiblich hinten das meine AVR Box quasi als 
Hub fungiert. Pc hinten Maus vorne dazwischen die Avr Box.

Dabei interessiert mich nur das Klick signal.

Wenn ein mausklick von der Maus an den Pc gesendet wird und (über die 
AVR Box) gesendet wird, möchte ich weitere klicks hinterher senden und 
somit z.b einen Doppelklick erzeugen.

Ist sowas möglich?

Wielleicht Data+ und oder - an eingänge...
Dann irgentwie das Protokoll auswerten?

Habe hier gelesen es sei sehr aufwändig, aber das waren andere
Ideen wie z.b. komplett emulation der Maus.

Ich bin für Antworten wie immer sehr Dankbar.
Daniel

P.s:
myavr board
atmega8 (z.Z)
basecom

nochmals vielen Dank ;)

Autor: didadu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gibt's im Windows nicht eine Funktion (im Linux sowieso), mit der man 
das Klickverhalten anpassen kann (dass es z.B. so wie bei Linux ist)? 
Ich meine, sowas mal irjendwo gesehen zu haben.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sollte egal sein ob linux oder windows, ich will ja eine Hardwarelösung 
bauen.

Sowas im Betriebsystem zu programmieren wäre ja einfach, leider aber 
nicht was ich möchte, trotzdem Danke für deine Antwort ;)

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Daniel schrieb:

> Habe hier gelesen es sei sehr aufwändig, aber das waren andere
> Ideen wie z.b. komplett emulation der Maus.

Das spielt kaum eine Rolle. Du wirst trotzdem den ganzen 
USB-Protokollstack brauchen. Und es ist schon schwer genug, das so 
hinzubekommen, daß der AVR als USB-Device fungiert und noch schwerer, 
daß er USB-Host ist. Aber beides gleichzeitig ist mal wirklich hart.

Autor: Ado (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst Du nicht USB/PS2 Wandler verwenden und die PS2 Signale mittels 
Mikrocontroller generieren ?

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wozu das Ganze? Da gibt es bestimmt einfachere Lösungungen für Dein 
Problem.

Autor: Mausi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo, z.B. mit einer A4TECH 2X Click Mouse OP-620D. Gibts schon ab EUR 
4,00 (keine Werbung!).

Autor: Daniel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, vielen Dank an alle bisherigen antworten.

Wie oben schon erwähnt möchte ich ob es für aussenstehende sinn macht 
oder nicht mir einen kastenbauen indem ich mausklicks erkennen und 
verarbeiten kann (siehe angefügtes Foto)

hierbei ist es klar das es fertige lösungen gibt, mir aber eine andere 
maus (die o.e habe ich sogar) zu verwenden kommt nicht in frage da ich 
die Razor behalten möchte. Weswegen ich auch über usb gehen MUSS auch 
wenn den PS2 Bus auslesen ein leichtes wäre wegen der dann fehlenden 
Vorteile der Razor genauigkeit, abtastungsrate ect.

Ich will euch einfach mal mein Projekt zeigen (Foto) damit Ihr euch 
vorstellen könnt was ich meine und warum eine einfache Doppelklick 
lösung nicht ausreicht, als AVR Programmierer möchte man außerdem ja 
nicht fertige sachen kaufen sondern selbst basteln ;)

Hoffe auf noch einige Antworten wie man den Data+- verarbeiten könnte.
Zur erinnerung: Ich benötige nur  die Klicks alles andere soll 1:1 
durchgeschleift werden.

lg
Daniel

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sags aml so, USB ist recht zeitkritisch.
Bei 15 MHz Prozessortakt hast du genau 10 Prozessortakte pro USB-Bit 
Zeit (und das auch nur bei Low-Speed-USB).

Wird interessant, ich hoffe, du kannst Assembler?

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es gibt Konverter von USB-Maus nach PS2-Maus und wieder zurück nach USB, 
ganz billig.  Dazwischen setzt Du dann Deine Schaltung.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann ist die einzige Möglichkeit die Verwendung eines dedizierten 
USB-Host-Controller wie dem Vinculum von FTDI. Den brauchst Du, um die 
Maus mit Deinem µC verbinden zu können. Einen anderen realistisch 
umsetzbaren Weg gibt es nicht (auch wenn ein sehr genialer Mensch aus 
Japan mal eine Demonstration eines USB-Hosts für eine Maus in Software 
auf einem AVR hingelegt hat, ist dies nicht realistisch umsetzbar).

Dazu kommt noch ein dedizierter USB-Device-Controller, oder ein µC mit 
integriertem USB-Device-Controller. Ein FTDI-Baustein wie FT232 tut es 
hier nicht. Diesen Controller brauchst Du, damit Dein µC dem PC 
gegenüber so tun kann, als wäre er die Maus.

Softwareseitig hast Du dann "nur" noch folgendes zu tun:

- Ansteuerung des Vinculum/USB-Host-Controllers, um das geforderte 
Mausprotokoll Deiner Maus nutzen zu können. Das scheint ja über 
HID-Maus-Grundfunktionen hinauszugehen, da Du von Spielmäusen ("Razor") 
schreibst.
Dazu musst Du das Protokoll erstmal vollständig analysieren, d.h. mit 
einem Protokollanalysator aufzeichnen. So etwas gibt es auch als reine 
Softwarelösung, möglicherweise genügt das.

- Implementierung exakt des Mausprotokolls Deiner Maus mit dem 
USB-Device-Controller - schließlich soll Dein PC ja weiterhin davon 
ausgehen, daß dieselbe Maus angeschlossen ist

- Sinnvolle Verknüpfung beider Funktionalitäten mit "Durchreichen" aller 
relevanten Daten in beiden Richtungen, d.h. nicht nur Mausbewegungen 
und Klicks an den PC, sondern auch Konfigurationsdaten vom PC an die 
Maus.
Hier kannst Du Deine so wichtige Mausklickverdoppelung einfügen.


Eine alternative Möglichkeit wäre eine Manipulation der Maus selbst - 
die darin befindlichen Microtaster sind durch Reedrelais o.ä. zu 
ersetzen, die Tasten steuern einen in die Maus eingesetzten µC an, der 
wiederum die Reedrelais so ansteuert, wie Du klicken willst.


Dieser Weg scheint mir von mechanischen Problemen abgesehen der 
sinnvollste; USB ist absolut nichttrivial anzusteuern. Ein simpler 
Zugriff auf die Datenleitungen, wie er Dir vorzuschweben scheint, ist 
vollkommen unrealistisch.

> Es gibt Konverter von USB-Maus nach PS2-Maus

Nein. Die gibt es nicht. Was Du dafür hältst, sind Steckeradapter, die 
zu bilingualen Mäusen gehören, das sind Mäuse, die sowohl USB- als 
auch PS/2-Mäuse sind.

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Es gibt Konverter von USB-Maus nach PS2-Maus
>
> Nein. Die gibt es nicht. Was Du dafür hältst, sind Steckeradapter, die
> zu bilingualen Mäusen gehören, das sind Mäuse, die sowohl USB- als
> auch PS/2-Mäuse sind.

Ah ja.  Ich nehme mal an, dass dem so ist.  Vielleicht geht seine Maus 
dennoch mit so einem (ich habe mit mindestens 10 davon daran gehabt und 
habe jedenfalls noch keine erlebt, die nicht damit ging - ich brauche 
PS/2 wegen KVM), und seine ist ja wohl kein Billigmodell.

Und der Konverter für den umgekehrten Weg, wie arbeitet der dann?  Der 
ist nicht wesentlich teurer.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich danke euch beiden sehr für eure Antworten.

Ich denke auch das es ein momentan (Basecom Anfänger) ein noch nicht 
realisierbares Projekt ist.

Eine gute Idee die ich ach schon hatte, das alles in die Razor zu 
verbauen (habe eine vom kumpel für 3 € für diesen zweck gekauft wo der 
linke mausklick taster eh kaputt ist). Ich werde also mal versuchen das 
alles in die Maus zu bekommen bzw in ein gehäuse aus der Maus raus mit 
einfacher relais ansteuerung.

Ich behalte aber mal die Herausforderung im Hinterkopf und versuche mal 
wenn ich später fitter bin und C++ und Assambler kann mich nochmal an 
die eröffnungsthread lösung versuchen.

Für den Anfang bin ich erstmal begeistert wie einfach ich mit Basecom 
klarkomme (habe das Board erst einige Tage) hierbei ist meine VB und 
.net erfahrung super weil es doch sehr ähnlich ist.

Für die andere lösung aber werde ich wohl nicht um assambler rum kommen, 
weswegen ich es erstmal vertagen werde.

Vielen Dank für alle Antworten und vor allem Rufus t. Firefly für die 
ausführliche ;)

Lieben Gruß
Daniel

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hc Zimmerer schrieb:
> Vielleicht geht seine Maus dennoch mit so einem

Tut sie, wenn sie bilingual ist.

> (ich habe mit mindestens 10 davon daran gehabt und
> habe jedenfalls noch keine erlebt, die nicht damit ging - ich brauche
> PS/2 wegen KVM), und seine ist ja wohl kein Billigmodell.

Viele, wenn nicht die meisten Mäuse sind bilingual, aber eben nicht 
alle. So z.B. die "Mighty Mouse" von Apple (die mit dem kleinen 
Trackball) nicht.
Und es ist damit zu rechnen, daß die Bilingualität über kurz oder lang 
abhandenkommt - genauso, wie die Bilingualität PS/2 und RS232 
ausgestorben ist. Welcher neue PC hat noch eine PS/2-Schnittstelle?


Hc Zimmerer schrieb:
> Und der Konverter für den umgekehrten Weg, wie arbeitet der dann?  Der
> ist nicht wesentlich teurer.

Da ist aktive Elektronik drin.

Die Diskussion ist im übrigen müßig, da der Threadersteller darauf 
hinwies, daß bestimmte Betriebsdaten der Maus im PS/2-Betrieb nicht 
erreicht werden können, so ist die damit erreichbare Abtastrate wohl 
unterhalb dessen, was so ein Spieler braucht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.