USB Mausbewegungen modifizieren und an den PC weiterleiten

OP #7775587
Lesenswert?

Hallo,

ich möchte mit einem Arduino, ESP32 oder ähnliches die Bewegungsdaten einer USB Maus abfangen, manipulieren und anschließend an den PC via USB weitergeben.

Hintergrund: ich möchte, wenn ich zwischen mehreren PCs wechsele den gleichen Bewegungsfaktor bei der Maus vorfinden. Beispiel: User 1 arbeitet mit dem PC, verstellt die Mauseinstellungen, damit diese für ihn passen. Passt dann für mich nicht mehr. Normalerweise würde man vorschlagen dedizierte Windows Benutzer zu nehmen, geht leider aus Lizenztechnischen Gründen nicht.

Hättet Ihr da eine Idee?

Wäre für jede Info dankbar.

Gruß Michael

#7775598
Lesenswert?

Michael K. schrieb:

Hättet Ihr da eine Idee?

Technisch geht das, die Kiste verhält sich gegenüber dem PC wie eine Maus und liefert (umgerechnete) Bewegungsdaten und gegenüber der Maus wie ein abfragender PC, es teicht wohl auch USB 1.1.

Aber das du das hinkriegst, halte ich für zweifelhaft, selbst wenn du einen uC mit 2 eingebauten USB Interfaces nimmst statt dem 'Arduino/ESP32'.

Wenn du wenigstens 2 Beispiele finden würdest, eins für eine Maus und eins für einen eine Maus abfragenden USB Master. Ich wüsste für letzteres keines auf <irgendeinem> uC.

Und dann kommt trotzdem jemand und verstellt die Mausempfindlichkeit auf dem PC, nutzlos ist das ganze also auch noch.

#7775610
Lesenswert?

Michael K. schrieb:

Normalerweise würde man vorschlagen dedizierte Windows Benutzer zu nehmen, geht leider aus Lizenztechnischen Gründen nicht.

Bei welchem Windows werden Nutzer lizensiert? Ich hatte bis jetzt nur Rechner oder CPU-Kerne als Grundlage.

Und wie soll der Arduino/wasauchimmer erkennen, wie die Mauseinstellung am PC verändert wurde und gegenregeln?

#7775654
Lesenswert?

Selber nicht getestet, aber es scheint einen Weg zu geben über Powershell: https://stackoverflow.com/questions/71194925/cmd-command-application-to-change-mouse-sensitivity

Dafür muss ja wirklich nichts installiert werden.

Ansonsten was die Hardware-Lösung angeht: Vermutlich wird es einfacher sein, vom Mikrocontroller aus eine PS2 Maus einzulesen als eine USB-Maus. Hier ist zB ein erstbestes Sucheregebnis was das hingekriegt hat: https://www.youtube.com/watch?v=CMv6bJRJzyY

Nach dem Link muss man wohl ausprobieren, ob die moderne Maus den Fallback auf PS2 noch unterstützt (wenn die Maus den USB-PS2 Adapter im Lieferumfang hat kann man davon wohl ausgehen, weiß nicht ob solche heute noch käuflich sind).

OP #7775668
Lesenswert?

Lenny D. schrieb:

Selber nicht getestet, aber es scheint einen Weg zu geben über Powershell: https://stackoverflow.com/questions/71194925/cmd-command-application-to-change-mouse-sensitivity

Dafür muss ja wirklich nichts installiert werden.

Ansonsten was die Hardware-Lösung angeht: Vermutlich wird es einfacher sein, vom Mikrocontroller aus eine PS2 Maus einzulesen als eine USB-Maus. Hier ist zB ein erstbestes Sucheregebnis was das hingekriegt hat: https://www.youtube.com/watch?v=CMv6bJRJzyY

Nach dem Link muss man wohl ausprobieren, ob die moderne Maus den Fallback auf PS2 noch unterstützt (wenn die Maus den USB-PS2 Adapter im Lieferumfang hat kann man davon wohl ausgehen, weiß nicht ob solche heute noch käuflich sind).

Dass das möglich ist weiss ich. Der Rechner wurde aber zugenagelt, dass keine eigenen Scripts ausgeführt werden können und dürfen. Die Abteilung, die dafür zuständig ist, hat kein Interesse daran Scripts anderer Mitarbeiter zu testen.

(Firma: 1984now) #7775673
Lesenswert?

Michael K. schrieb:

Hintergrund: ich möchte, wenn ich zwischen mehreren PCs wechsele den gleichen Bewegungsfaktor bei der Maus vorfinden. Beispiel: User 1 arbeitet mit dem PC, verstellt die Mauseinstellungen, damit diese für ihn passen. Passt dann für mich nicht mehr. Normalerweise würde man vorschlagen dedizierte Windows Benutzer zu nehmen, geht leider aus Lizenztechnischen Gründen nicht.

OK, das Problem habe ich soweit verstanden. Aber die beabsichtigte "Lösung" ist doch irgendwie völlig schwachsinnig.

ich möchte mit einem Arduino, ESP32 oder ähnliches die Bewegungsdaten einer USB Maus abfangen, manipulieren und anschließend an den PC via USB weitergeben.

Dann müsstest du an diesem noch zu konstruierenden Gerät zwischen "Normalbenutzer" und "Besonderer-DU-Benutzer" umschalten. Und hoffentlich niemals nicht vergessen, diesen Schalter auf Normalbenutzer zurückzusetzen, wenn du den PC verläßt. Weil dann natürlich der Normalbenutzer wiederum seine Einstellungen ändern würde, so dass die mit dem "Gerät" schaltbaren Einstellungen wieder nur für ihn passen würden (allerdings dann in der DU-Einstellung, die "Normalbenutzer"-Einstellung würde dann für keinen mehr passen)...

Tja, es hat schon seine Vorteile, logisch denken zu können...

Da kommt man dann leicht darauf, dass es doch vieles einfacher wäre, eine PC-Anwendung zu schreiben, mittels derer man halt schnell zwischen zwei Profilen der Mauseinstellungen wechseln kann. Innerhalb eines einzigen Windows-Benutzerprofils.

#7775690
Lesenswert?

Ob S. schrieb:

Dann müsstest du an diesem noch zu konstruierenden Gerät zwischen "Normalbenutzer" und "Besonderer-DU-Benutzer" umschalten. Und hoffentlich niemals nicht vergessen, diesen Schalter auf Normalbenutzer zurückzusetzen, wenn du den PC verläßt.

Eventuell könnte man ein Zeichen Tablet emulieren? Die funktionieren aus OS sicht genau so wie eine Maus, aber die Koordinaten sind Absolut. Dann kann man die Mausgeschwindigkeit noch so sehr anpassen, das sollte dann ja keinen Effekt haben?

OP #7775732
Lesenswert?

Wie ich bereits geschrieben habe. Die Kiste wird zugenagelt bleiben. Eigene Scripts und Applikationen sind nicht erlaubt. Also bleibt nur die externe Alternative. Und ja, ich habe schon einen Antrag gestellt, das Ganze Softwareseitig zu lösen. Wurde abgelehnt, da der Aufwand zu groß und mit jedem neuen Nutzer des Pcs eine weitere Mauseinstellung dazu käme. Ich verstehe ja Eure Einwände, aber solange die Verantwortlichen blocken, laufen Eure Ideen ins Leere.

Danke nochmals für Eure Ideen und Eure Mühe.

Gruß Michael

OP #7775738
Lesenswert?

Marc G. schrieb:

Die mouse settings aus der registry exportieren (deine settings) und als shortcut aufn Desktop legen ? Bei Bedarf doppelklick drauf und rebooten... regeditor ist nen systemtool und sollte auch user registry Einträge importieren

Wenn der Rechner zugenagelt ist, machst Du nix. Dann gibts auch kein Regedit.

Ihr dürft nicht von einem Privatrechner ausgehen, das ist ein Firmenrechner, der entsprechende Einstellungen hat die kaum etwas erlauben.

Persönliche Seite #7775758
Lesenswert?

Michael K. schrieb:

ich möchte mit einem Arduino, ESP32 oder ähnliches die Bewegungsdaten einer USB Maus abfangen, manipulieren und anschließend an den PC via USB weitergeben.

Du brauchst einen USB-host, der das dekodiert. Das ist nicht so ganz einfach, lässt sich aber hiermit lösen:

https://www.hobbytronics.co.uk/product/host-board

Du musst dann die SW-version für die USB-mouse reinladen. Der Rest ist mit jedem einfachen Controller zu machen.

OP #7775765
Lesenswert?

Ob S. schrieb:

Nicht wirklich. Das ist keine Alternative. Wenn du nicht mal das zu begreifen vermagst...

Du musst nicht gleich persönlich werden. Und es ist eine Alternative, auch wenn sie Dir nicht gefällt. Eine Softwarelösung scheidet aus, wie ich bereits geschrieben habe. Also wieso Dein Angriff? Habe ich irgendwas geschrieben, womit ich Dich angegriffen habe, dass dann so eine Reaktion von Dir kommt?

OP #7775778
Lesenswert?

Ob S. schrieb:

Nicht wirklich. Das ist keine Alternative. Wenn du nicht mal das zu begreifen vermagst...

Was Du nicht verstehen möchtest, obwohl ich es hier schon oft genug beschrieben habe: natürlich wäre eine Softwarelösung die beste Wahl. wenn aber eine Softwarelösung nicht infrage kommt, da der Rechner Softwareseitig unangetastet bleiben muss, kannst Du Dich auf den Kopf stellen, wie Du willst, dann wird Dein vehementes Drängen Software einzusetzen auch nicht Zielführend sein.

#7775811
Lesenswert?

Ich habe mal gesehen, dass man auch mit dem Wireshark die USB Transfers aufzeichnen lassen kann. Es würde wohl reichen, Wireshark zu installieren und dann USB mitzuschneiden.

Aktuell ist hier keiner installiert, um mal zu testen. Aber in der Firma hatte ich das gesehen.

#7775816
Lesenswert?

Wenn die Firma das verlangt, muss sie sich auch um das Problem kümmern. Es ist nicht die Aufgabe des Anwenders, dafür eine Lösung zu suchen. Und ohne ein 1 Stück Hardware oder Software dazwischen wird das nicht funkionieren. Wenn die Firma das Gerät dicht gemacht hat, ist es mit Sicherheit auch verboten eine fremde Hardware und wenns auch nur ein Maus Simulator ist anzuschliessen.

Moderator #7775824
Lesenswert?

Kurt schrieb:

Wenn die Firma das verlangt, muss sie sich auch um das Problem kümmern. ... Wenn die Firma das Gerät dicht gemacht hat, ist es mit Sicherheit auch verboten eine fremde Hardware und wenns auch nur ein Maus Simulator ist anzuschliessen.

Ja, als erstes würde ich der IT-Abteilung das Problem schildern und um irgendeine Lösung bitten. Ob es ein Software- oder ein Hardwarelösung wird, kann die IT selber entscheiden. Führt dies nicht zum Erfolg, würde ich um die Erlaubnis bitten, einen selbstgebastelten Maus-Adapter anzuschließen, was natürlich ein gewisses Vertrauen vonseiten der IT voraussetzt. Wenn auch dieser Wunsch abgelehnt wird, muss man das halt so hinnehmen.

Wenn die IT die Erlaubnis tatsächlich erteilt, wäre IMHO ein CH32V203 eine gute Option. Der kostet fast nichts und hat die beiden benötigten USB-Ports bereits an Bord:

https://de.aliexpress.com/item/1005007052897878.html

Hier gibt es ein Board dafür, bei dem du allerdings die zweite USB-Buchse selber anbringen musst (die dafür benötigten Signale sind über die Stiftleisten herausgeführt):

https://de.aliexpress.com/item/1005006117720765.html

Bei diesem Board hier ist alles komplett, dafür ist es etwas teurer und mit einem (für das Vorhaben überflüssigen) LCD-Anschluss und einem SD-Karten-Slot ausgestattet:

https://de.aliexpress.com/item/1005006461555311.html

Das letztgenannte Board hat wohl einen USB-Bootloader installiert. Ohne diesen Bootloader wird noch ein Programmier-/Debug-Adapter (WCH-LinkE) für ein paar Euro benötigt.

Softwarebeispiele für Tastatur-Maus-Kombi (Host und Device) gibt es hier:

https://github.com/openwch/ch32f20x/tree/main/EVT/EXAM/USB/USBD https://github.com/openwch/ch32f20x/tree/main/EVT/EXAM/USB/USBFS

Das Zusammenfügen dieser beiden Softwaren zu einer einzigen und das Dazwischenschalten der Geschwindigkeitsumrechnung sollte nicht allzu schwer sein.

Gast #7775831
Lesenswert?

Michael K. schrieb:

Wie ich bereits geschrieben habe. Die Kiste wird zugenagelt bleiben. Eigene Scripts und Applikationen sind nicht erlaubt.

Dann ist eigene Hardware am USB Port mit Sicherheit ebenfalls nicht erlaubt.

Vielleicht besorgt dir die Firma eine zweite Maus, deren Geschwindigkeit mit einer Taste einstellbar ist.

OP #7775840
Lesenswert?

Mea Culpa,

ich hatte vergessen zu sagen, dass eine externe Lösung erlaubt ist. Es geht hier um Lizenztechnische und Vertragsrechtliche Bedingungen. Der Hersteller der Software, die an den Windows User gebunden ist, untersagt ausdrücklich jegliche Art von zusätzlicher Software oder Scripts, um eine einwandfreie Funktionalität ihrer Software zu gewährleisten. Es geht hier um Spezialsoftware im Laborbereich in Kombination mit Spezial Hardware. Deswegen ist der Rechner zugenagelt. Die Firma lässt jedoch Dongles zu.

Trotzdem vielen Dank für Eure Mühe.

Gruß Michael

Gast #7775841
Lesenswert?

Michael K. schrieb:

Es geht hier um Spezialsoftware im Laborbereich in Kombination mit Spezial Hardware. Deswegen ist der Rechner zugenagelt. Die Firma lässt jedoch Dongles zu.

Dennoch könnte eine andere Maus mit Taster zur Einstellung der Geschwindigkeit die pragmatischste Lösung für euch sein. Probiere es mal aus.

Gast #7775887
Lesenswert?

Michael K. schrieb:

Muss auch mal im Gaming Bereich suchen.

Nicht nötig. Ich benutze genau diese auf der Arbeit seit mehr als 5 Jahren: https://www.amazon.de/Anker-Vertikale-Vertical-Ergonomic-Optical/dp/B009D9CZ5C

Die ungewöhnliche Form hilft mir, entzündliche Reizungen im Arm (durch Reibung der Knochen gegeneinander) zu vermeiden. Diese Maus hat zwei Geschwindigkeitsstufen.

Andere Marken haben sie mit 4 Stufen (sogar billiger) https://www.amazon.de/TECKNET-Ergonomische-Vertikale-Computermaus-LED-Beleuchtung-Schwarz/dp/B0CQRD1KPQ

Sowie kabellos https://www.amazon.de/iClever-Vertikale-Ergonomische-unterschiedlichen-DPI-Zahlen/dp/B07V9M8XDF

#7776082
Lesenswert?

Und wer installiert die Treiber für die Maus wenn da keine fremde Software drauf darf?

Und nochmal für mein Verständnis

Ist die Installation der Kiste wirklich verrammelt, also nur benutzerrechte und per Richtlinien das starten von fremden Dateien verhindert und dann auch ggf keine fremde Hardware und ggf auch USBSticks, kein Internet, etc

Oder

Man darf es nur nicht ?

OP #7776181
Lesenswert?

Motopick schrieb:

Das ist doch alles Quatsch. Wenn es so waere, koennte der D.A.U. an den Mauseigenschaften ueberhaupt nichts verstellen.

Aber genau das ist das Problem. Jeder User will seine eigenen Einstellungen und versucht diese zu verändern, was die anderen User dann sehr erfreut, so dass es Diskussionen gibt (Schichtwechsel). Die Mauseinstellungen werden nicht verrammelt, weil die Admins der Meinung sind, die User könnten das unter sich ausmachen. Das gibt aber alles nur Ärger, da keine Einigung machbar. Alles total irre. Deswegen die Idee mit dem externen Modul.

Es musste sogar die Bildschirmauflösung fixiert werden, da laufend dran rumgefingert wurde und es Diskussionen gab.

#7776192
Lesenswert?

Klassischer Fall von "Soziales Problem & Technische (nicht funktionierende) Lösung". Was machst du wenn der andere kein Modul nutzen kann/will, zu doof, bösartig oder vergesslich ist? Was machst du wenn der mal einfach so 1600dpi statt 800 testet und du dein 800-zu-200-Modul nicht nutzen kannst weil es ja jetzt auch zu schnell ist?

Wenn "die IT" die Rechner so verrammelt, das man nicht mal eben mit einem Skript (das auch nichts anderes macht als automatisiert irgendwo zu klicken) Standard-Windowseinstellungen setzen kann, dann sollen sie gefälligst auch die Standardeinstellungen für die Maus festlegen. Dann hat der Kollege halt Pech. Oder man kauft einen Touchscreen, der ist absolut. Oder du schließt eine andere Maus an. Das ist ja komischerweise erlaubt, weil interessanterweise automatische Mausklick- und Eingabegeräte in Form einen Sticks frei erhältlich sind und auch absolut kein Risiko darstellen, wenn sie z.B. Kommandozeileneingaben machen oder mit anderen Tricks den Rechner knacken. Da haben die Admins dann aber gepennt, aber alles andere wird zugemacht. Ja nee is klar.

Du musst halt einfach nicht arbeiten können weil der Jupp das ganze System außer Betrieb verstellt hat, dann sollten deine Vorgesetzten schon Druck auf die IT geben damit die Maschine wieder läuft. Wenn es erst eine neue Maus gibt, wenn die alte verschlissen ist, dann muss sie eben schnell verschleißen... ;)

Denk dran: wenn Opa keine Lust hat Oma beim Abtrocknen zu helfen, muss nur einer der guten Teller runterfallen und er muss dass nie wieder machen!

OP #7776204
Lesenswert?

Du wirst es nicht jedem Recht machen können, das ist richtig.

Ich koordiniere nur die IT und die Produktion. Ich(selbst IT) wurde eingeschaltet, da die Fronten zwischen Produktion und IT verhärtet sind. Um die beiden wieder an einen Tisch zu bekommen, brauche ich die Akzeptanz von beiden. Aber Eure Ideen fließen da mit ein.

Nochmals vielen Dank

#7776223
Lesenswert?

Michael K. schrieb:

Es musste sogar die Bildschirmauflösung fixiert werden, da laufend dran rumgefingert wurde und es Diskussionen gab.

Da gibt's doch eigentlich nur genau eine: die des Monitors. Wenn da einer dran fummelt, muss der ne neue Brille haben.

Michael K. schrieb:

Um die beiden wieder an einen Tisch zu bekommen, brauche ich die Akzeptanz von beiden.

Das geht dann nur, wenn beide sich den Arbeitsplatz einstellen können. Das muss man dann einfach mit AutoIt oder evtl. Powershell oder einem Registryeintrag setzen und gut. Da gibt's dann ein "michaelsmaus.exe" und ein "juppsmaus.exe" und fertig. Das ist weder ein Sicherheitsrisiko noch sonst etwas. Das kann doch jeder Depp in 10 Minuten zusammenhacken, das sollte den IT-Betreuern locker von der Hand gehen. Vermutlich benutzen die selber sowas, um sich die immer wieder vorkommenden Aufgaben zu automatisieren, wenn nicht sind sie ihr Geld eh nicht wert.

#7776233
Lesenswert?

Sherlock 🕵🏽‍♂️ schrieb:

Marc G. schrieb:

Und wer installiert die Treiber für die Maus wenn da keine fremde Software drauf darf?

Der Maustreiber ist in Windows schon drin!

Michael K. schrieb:

Sherlock 🕵🏽‍♂️ schrieb:

Der Maustreiber ist in Windows schon drin

Jepp!

Ok war mit nicht bewusst das ihr genau diese Maus kennt... es gibt genug Mäuse mit zusatztasten, usb wireless bt dongle, etc die machen ohne Treiber nur Grundfunktionen oder auch mal gar nix...

(Firma: Golden Delicious Computers) #7776246
Lesenswert?

Michael K. schrieb:

einer USB Maus abfangen, manipulieren und anschließend an den PC via USB weitergeben.

(Embedded) Linux auf einem billigen Linux-Controller (RasPi, BeagleBone oder ähnliches) mit je einem Host und einem Client-Port kann das. Zwar nicht ganz "out of the box", aber der gesamte low-level-Kram ist da.

  1. mit configfs kann man ein HID-Device auf einem Peripheral-USB-Port simulieren. Das sieht der angeschlossene PC dann als Maus
  2. die Mausseite legt beim Anstecken ein normales Input-Device an und sendet Events nach /dev/input/event*
  3. die Events kann ein Daemon abfangen, modifizieren und als HID codiert über das configfs dem angeschlossenen PC als Maus-Events präsentieren

configfs korrekt aufzusetzen ist etwas knifflig (und ich hab das für eine Maus auch noch nicht gemacht), aber es gibt im Internet viele Beispiele zu finden.

OP #7776252
Lesenswert?

Nikolaus S. schrieb:

(Embedded) Linux auf einem billigen Linux-Controller (RasPi, BeagleBone oder ähnliches) mit je einem Host und einem Client-Port kann das. Zwar nicht ganz "out of the box", aber der gesamte low-level-Kram ist da.

  1. mit configfs kann man ein HID-Device auf einem Peripheral-USB-Port simulieren. Das sieht der angeschlossene PC dann als Maus
  2. die Mausseite legt beim Anstecken ein normales Input-Device an und sendet Events nach /dev/input/event*
  3. die Events kann ein Daemon abfangen, modifizieren und als HID codiert über das configfs dem angeschlossenen PC als Maus-Events präsentieren

configfs korrekt aufzusetzen ist etwas knifflig (und ich hab das für eine Maus auch noch nicht gemacht), aber es gibt im Internet viele Beispiele zu finden.

Interessant,

Braucht dann aber für den Raspi eine externe Tastatur zur Auswahl der Usersettings, sollte machbar sein. Und ob ich da einen Raspi oder einen Arduino o. Ä. nehme ist auch egal. Man könnte das Inputdevice auch ungefiltert ans Outputdevice schicken.

Hört sich mehr als interessant an. Cool.

Dank für den Tipp.

OP #7776448
Lesenswert?

Jörg E. schrieb:

Habe gerade gelesen das der neue Raspi 5 das wohl direkt unterstützt. https://www.hackster.io/news/ben-hardill-pens-a-new-guide-to-getting-a-raspberry-pi-5-talking-in-usb-gadget-mode-8c3427f49e6b

Hallo Jörg,

ich bin leider noch nicht dazu gekommen.

Vielen Dank für die Info und die Mühe.

Btw: ich habe etwas anderes in Erfahrung bringen können...

... der betreffende Rechner wurde von der Herstellerfirma zugenagelt. Der Rechner befindet sich nicht mal in einer unserer Domänen, der Datenaustausch zwischen dem Rechner und unserer Firma erfolgt im Hintergrund via FTP. Und unsere Admins haben noch nicht einmal Zugriff auf das Teil(wovon ich fälschlicherweiser ausgegangen bin - erst auf Nachdruck bekam ich diese Info - erklärt auch, warum sich die IT-Kollegen sperrten).

Am einfachsten wäre, dass die Lieferfirma das ganze Softwaretechnisch löst. Dies würde wiederum Geld kosten.

Gruß Michael

#7776457
Lesenswert?

Michael K. schrieb:

User 1 arbeitet mit dem PC, verstellt die Mauseinstellungen, damit diese für ihn passen. Passt dann für mich nicht mehr. Normalerweise würde man vorschlagen dedizierte Windows Benutzer zu nehmen, geht leider aus Lizenztechnischen Gründen nicht.

Technische Lösungen für soziele Probleme? Die Leute versuchen das immer wieder. Hat sich wohl immer noch nicht rumgesprochen, daß das nicht funktioniert.

Findet halt eine Mauseinstellung, die für beide funktioniert. Oder beißt in den sauren Apfel und lizensiert die Software zweimal.

PS: habe den Thread jetzt erst ganz gelesen. Das ist ja noch schlimmer als gedacht. Der Hersteller, die eigene IT und zwei Benutzer. Und alle arbeiten gegeneinander, statt miteinander. Kein Wunder daß in Deutschland nichts vorangeht.

Der Hersteller scheint(!) unsinnige Forderungen zu stellen. Wenn ein Bundle aus Hard- und Software lizensiert wurde, was ist da eigentlich das Problem zwei Benutzer zuzulassen? Oder gar das Problem dabei, beliebige Desktop-Shortcuts zuzulassen?

Der IT mache ich mal (ausnahmsweise) keinen Vorwurf. Die versucht es allen Seiten recht zu machen, will sich aber nicht in die Nesseln setzen.

Ich sehe den schwarzen Peter eigentlich bei den beiden Benutzern. Warum muß der eine der beiden eigentlich "die Mauseinstellungen" verändern? Und wenn er es "muß" und man ihn nicht übergehen kann (wohl der Eigentümer) dann gehört das System jetzt ihm ganz allein. Kann dann halt kein anderer damit arbeiten.

#7776482
Lesenswert?

Michael K. schrieb:

Walter T. schrieb:

Dann würde ich eine PS/2-Maus nehmen. Die lässt sich deutlich einfacher dekodieren als eine USB-Maus.

Jetzt wirds putzig lol

Wie bereits oben vorgeschlagen: Auslesen einer PS2-kompatiblen Maus, aber natürlich Weitergabe an den PC mittels USB-HID. Für letzteres gibt es viele Arduino-Examples, für ersteres findet man in Google auch Projekte, hier nur mal eins: https://www.youtube.com/watch?v=CMv6bJRJzyY

(Sorry falls du lieber Text liest als Videos schaust, war jetzt das schnellste für mich, aber ist auch ein Git Link dabei).

OP #7776488
Lesenswert?

Sorry Walter, ich hatte Dich im ersten Anlauf missverstanden.

Ich habe verstanden, was Du meinst. Ich hatte in den 80ern mal einen Maustreiber geschrieben, mal sehen, ob ich den Quellcode noch habe. War in MSC mit Inlineassembler programmiert.

Gruß Michael

p.s. manchmal braucht man nur den richtigen Schubs

OP #7776491
Lesenswert?

Lenny D. schrieb:

Wie bereits oben vorgeschlagen: Auslesen einer PS2-kompatiblen Maus, aber natürlich Weitergabe an den PC mittels USB-HID. Für letzteres gibt es viele Arduino-Examples, für ersteres findet man in Google auch Projekte, hier nur mal eins: https://www.youtube.com/watch?v=CMv6bJRJzyY

(Sorry falls du lieber Text liest als Videos schaust, war jetzt das schnellste für mich, aber ist auch ein Git Link dabei).

Hallo Lenny, die Weitergabe via USB habe ich schon letztes Jahr realisiert. Das Auslesen werde ich mir antun, je nachdem wie die Obrigkeit entscheidet.

#7776500
Lesenswert?

Was ist das für eine Firma und Software, die so aberwitzige Restriktionen stellt?

Michael K. schrieb:

Natürlich geht das der IT locker von der Hand. Ist aber ein Vertragsbruch.

Eine Software, bei der es Vertragsbruch ist, wenn man per Skript automatisiert einen Parameter setzt, der explizit freigegeben ist? Ich kann kaum glauben das so eine Klausel in irgendeiner Form juristisch wirksam ist.

Moderator #7776507
Lesenswert?

Walter T. schrieb:

Ja nu, mit

Michael K. schrieb:

einem Arduino, ESP32 oder ähnliches

einen USB-Host zu implementieren ist kein Anfängerprojekt.

Man muss das Rad nicht unbedingt neu erfinden. Für die Optioen "ähnliches" habe ich oben bereits einen Weg vorgeschlagen, wie das Ganze (vermutlich) ganz leicht umgesetzt werden kann.

Ein Linux-SBC, wie von Nikolaus vorgeschlagen, geht natürlich auch, ist aber IMHO ein wenig oversized, braucht mehr Strom (und damit evtl. ein eigenes Netzteil) und braucht Zeit zum Booten (ok, das braucht der Windows-Rechner auch ;-)).

Ein kleiner Mikrocontroller wie der CH32V203 braucht mit ca. <5mA höchstens so viel Strom wie die angeschlossene Maus (und kann zusammen mit dieser vom selben USB-Port versorgt werden), kostet nur einen Bruchteil eines Linux-SBCs und ist praktisch sofort nach dem Einschalten verfügbar.

Aber wahrscheinlich ist auch die µC-Lösung zu aufwendig, denn:

Wenn ich es richtig verstehe, geht es ja um einen einzelnen PC mit zwei Usern. Die pragmatischste Lösung ist es wohl, einfach zwei von den beiden Usern selber ausgewählte Mäuse anzuschließen, die bzgl. DPI-Auflösung, Größe und Bauform exakt deren Vorlieben entsprechen. Kommt ein dritter User hinzu, der sich mit keiner der beiden existierenden Mäuse anfreunden kann, wird eben noch eine weitere gekauft ;-)

#7776508
Lesenswert?

Michael K. schrieb:

Btw: die ersten IBM PS/2 Rechner mit 10MB HD kosteten damals 5-stellig. und eine Maus alleine von IBM 3-stellig. Krank.

Bevor es PS/2 gab: Die erste bezahlbare Maus für PX-XT kompatible war die Genius GM 6+, die kostete "nur" noch 130 DM. Eine 20MB Platte >1000 DM. Eine Speichererweiterung von 256K auf 640K war eine lange Erweiterungskarte mit 54 64Kx1 Rams. ...

OP #7776509
Lesenswert?

Darum muss ich mich gottseidank nicht kümmern. Aber ich kenne das aus der Vergangenheit, dass Firmen Spezialsoftware in Kombination mit Hardware verkaufen und entsprechende Restriktionen, auch Vertraglicher Natur, einbauen, um sich vor Regressansprüchen zu schützen. Was man auch verstehen kann(da geht's mal schnell in die Millionen). Wenn ich selbst Spezial-Software entwickeln und vertreiben würde, würde ich mich auch absichern, um im Fehlerfall nicht haftbar gemacht zu werden. Wenn man solche Spezialsoftware kauft und es diese nur von einem Hersteller gibt(ja, so etwas gibt es noch), hat man entweder die Wahl, dem Kauf zuzustimmen, oder abzulehnen. Unsere Firma möchte sich da sauber halten, also hat man dem Kauf zugestimmt, mit allen vertraglichen "Einschränkungen"

OP #7776512
Lesenswert?

Yalu X. schrieb:

Man muss das Rad nicht unbedingt neu erfinden. Für die Optioen "ähnliches" habe ich oben bereits einen Weg vorgeschlagen, wie das Ganze (vermutlich) ganz leicht umgesetzt werden kann.

Ein Linux-SBC, wie von Nikolaus vorgeschlagen, geht natürlich auch, ist aber IMHO ein wenig oversized, braucht mehr Strom (und damit evtl. ein eigenes Netzteil) und braucht Zeit zum Booten (ok, das braucht der Windows-Rechner auch ;-)).

Ein kleiner Mikrocontroller wie der CH32V203 braucht mit ca. <5mA höchstens so viel Strom wie die angeschlossene Maus (und kann zusammen mit dieser vom selben USB-Port versorgt werden), kostet nur einen Bruchteil eines Linux-SBCs und ist praktisch sofort nach dem Einschalten verfügbar.

Aber wahrscheinlich ist auch die µC-Lösung zu aufwendig, denn:

Wenn ich es richtig verstehe, geht es ja um einen einzelnen PC mit zwei Usern. Die pragmatischste Lösung ist es wohl, einfach zwei von den beiden Usern selber ausgewählte Mäuse anzuschließen, die bzgl. DPI-Auflösung, Größe und Bauform exakt deren Vorlieben entsprechen. Kommt ein dritter User hinzu, der sich mit keiner der beiden existierenden Mäuse anfreunden kann, wird eben noch eine weitere gekauft ;-)

Sorry, das mit den Usern war nur ein plakatives Beispiel.

Es geht da um mindestens 3 verschiedene User(3 Schichten). Also um mehr als 3 User(Krankheit, Urlaub etc. berücksichtigt)

#7776513
Lesenswert?

Yalu X. schrieb:

ie pragmatischste Lösung ist es wohl, einfach zwei von den beiden Usern selber ausgewählte Mäuse anzuschließen, die bzgl. DPI-Auflösung, Größe und Bauform exakt deren Vorlieben entsprechen.

Sicher. Oder zwei PowerShell-Skripte mit "Set-MouseSpeed" auf dem Desktop.

Aber manchmal muss man ja im "Corporate"-Umfeld eine unpraktische Lösung mit immens hohem Aufwand vorweisen, bis auch nur irgendein "Stakeholder" sich zu einer pragmatischen Lösung prügeln lässt.

Edit: Script vergessen:

https://renenyffenegger.ch/notes/Windows/PowerShell/examples/WinAPI/modify-mouse-speed

(Firma: Starfleet) #7776548
Lesenswert?

das der neue Raspi 5 das wohl direkt unterstützt

Ist das nicht etwas overkill? Ein RPi 3b sollte das doch auch können. (Oder auch ein RPi Zero 2 WH)

Da gibt es aus der Retro-Ecke einen Vortrag zu einem ähnlichen USB-HID Fall, da hatte sich der Autor dann für einen RasPi-Pico oder Raspi-Zero entschieden.

Rein als bare-metal-Interface betrachtet ist das mit den dreistelligen MHz-Zahlen natürlich Overkill, aber da aber einige der OS-Layern laufen wollen für USB und man nicht alle Software selbst schreiben will, wurde es auch bei disem Projekt (Tastaturadapter moderne Tastatur an good old Homecomputer) auch eine 100+MHz Maschine. Also kein Over²-Kill mit 2+GHz Quad-Core, sondern nur einfacher Over-Kill ;-)

OP #7776584
Lesenswert?

... ich finde es cool, dass die Anteilnahme so gross ist und ich bin für jede Eurer Infos dankbar, man lernt immer dazu und wenn es nur dazu dient eine Sinnesänderung herbeizuführen;-)

Aber ich möchte nicht schuld sein , wenn das Ganze hier zu sehr ausartet. Da ich eh warten muss, bis eine Entscheidung getroffen wurde, wäre es sicherlich sinnvoll, hier einen freeze zu machen, bis ich Euch über die getroffene Entscheidung berichten kann.

Nochmals vielen Dank an Euch für die Infos, Anregungen, Mühe und Nerven.

Gruß Michael

Moderator #7777205
Lesenswert?

Da ich noch ein unbenutztes Eval-Board (CH32V203C8T6-EVT-R0)

https://de.aliexpress.com/item/1005005069239098.html

herumliegen hatte und dieses sowieso irgendwann ausprobieren wollte, habe ich mal versucht, das oben Geschriebene rudimentär umzusetzen:

Yalu X. schrieb:

Wenn die IT die Erlaubnis tatsächlich erteilt, wäre IMHO ein CH32V203 eine gute Option. ...

Es war tatsächlich möglich, mit recht wenig zusätzlichem Code die beiden Beispielprogramme von Github zu einer Anwendung zu vereinen, die die Mausdaten mit einem vorgegebenen Faktor multipliziert/dividiert.

Man schaltet das Board dann einfach zwischen PC und Maus, und schon wird die Maus schneller oder langsamer. Lustig wird es, wenn man einen negativen Faktor vorgibt (vielleicht mal ein netter Aprilscherz) ;-)

Das Ganze ist aber eher als Proof-of-Concept zu sehen, da die Software nach den Änderungen wie Kraut und Rüben aussieht und nur mit Mäusen mit einem bestimmten Datenformat (jeweils 1 Byte für Buttons, X, Y, und Rad) funktioniert. Für die Unterstützung beliebiger Mäuse müsste man noch die Deskriptoren der Maus an den PC weiterreichen und für die Umrechnung die X/Y-Werte gemäß den Vorgaben im Report-Descriptor aus den empfangenen Daten heraus- und wieder hineinfieseln.

Das Board mit dieser Software braucht 9 mA bei 96 MHz CPU-Takt, wahrscheinlich kann man den Verbrauch durch Heruntertakten und Deaktivieren nicht benötigter Komponenten noch deutlich senken. Zum Vergleich: die verwendete Maus (eine billige Logitech) braucht 14 bis 36 mA, je nachdem, wie schnell sie bewegt wird.

OP #7777496
Lesenswert?

Yalu X. schrieb:

Man schaltet das Board dann einfach zwischen PC und Maus, und schon wird die Maus schneller oder langsamer. Lustig wird es, wenn man einen negativen Faktor vorgibt (vielleicht mal ein netter Aprilscherz) ;-)

Vielen Dank für die Info.

Mal vom Aprilscherz abgesehen, war das genau meine Idee. Aber wie gesagt warte ich damit, bis eine Entscheidung gefallen ist.

Aber privat könnte ich mir das mal ansehen. Ich habe in der Vergangenheit einen Midi Controller gebastelt, der die Daten analog(Din) empfängt und sendet. Das wäre jetzt cool die Midi Daten auch via USB zu empfangen und zu verarbeiten.

Gruß Michael

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren