hi, wurde leider schon wieder von Google enttäuscht, aus dem Grund richte ich meine Frage an euch: Mein PC, sowie auch andere, werden mithilfe einer Maus bedient. Meistens läuft diese über USB. Sprich, die Maus sendet Informationen an dem PC, wo er den Cursor positionieren soll. Meine Frage ist nun, wo werden diese Informationen gespeichert bzw. bearbeitet? Werden die Informationen der Maus direkt über den Prozessor oder andere Hardware-Bridgets abgearbeitet? Hat der normale User, falls diese Informationen auf dem PC gespeichert werden, überhaupt Zugriff darauf? Diese Frage stellt sich mir weil man mit diversen Programmen wie z.B. Autoit die Position des Zeigers verändern kann. Mich Interessiert es nun, ob dass auch ohne extra Programm funktioniert. Danke. mfg Umbrecht
Umbrecht schrieb: > Sprich, die Maus sendet Informationen an dem PC, wo er den Cursor > positionieren soll. nein, sie sagt nur die Richtung in die er sich bewegen soll > Diese Frage stellt sich mir weil man mit diversen Programmen wie z.B. > Autoit die Position des Zeigers verändern kann. Mich Interessiert es > nun, ob dass auch ohne extra Programm funktioniert. Autoit ist ein normales Programm wie jedes andere auch. Jedes Programm kann damit auch den Zeiger ändern, wenn es denn will.
Unter Linux kann man ziemlich leicht die rohdaten der Maus auslesen. Das sind Geschwindigkeiten in X und Y. Was der pc dann damit anstellt ist eine ganz andere Sache. Und natürlich kann man z.b. mit .NET Kram den Cursor platzieren wo man möchte.
hi, Peter II schrieb: > nein, sie sagt nur die Richtung in die er sich bewegen soll mit welchem Tool funktioniert dies dann? Macht das der Systemtreiber von Windows? Thorsten Legat schrieb: > Und natürlich kann man z.b. mit .NET Kram den > Cursor platzieren wo man möchte. Linux oder Windows? mfg Umbrecht
Umbrecht schrieb: > mit welchem Tool funktioniert dies dann? Macht das der Systemtreiber von > Windows? das wird wohl Windows selber machen, der Treiber reicht es an Windows durch. Bei Touchpad ist es anders, das liefert absolute Koordinaten.
Umbrecht schrieb: > Meine Frage ist nun, wo werden diese Informationen gespeichert bzw. > bearbeitet? Werden die Informationen der Maus direkt über den Prozessor > oder andere Hardware-Bridgets abgearbeitet? Hat der normale User, falls > diese Informationen auf dem PC gespeichert werden, überhaupt Zugriff > darauf? Wie sooft liefert die Windows-API schon von Hause aus die passenden Funktionen um sie in dein eigenes Programm einzubauen: https://msdn.microsoft.com/de-de/library/system.windows.forms.control.mousemove(v=vs.110).aspx Supermodern ist es natürlich zuvor solche zugriffe erstmal durch zig GByte an Framworks zu abstrahieren...
Umbrecht schrieb: > oder andere Hardware-Bridgets dieses Bridget kann nix dafür: https://de.wikipedia.org/wiki/Bridget_Jones_%E2%80%93_Schokolade_zum_Fr%C3%BChst%C3%BCck
Irgendwer schrieb: > Wie sooft liefert die Windows-API schon von Hause aus die passenden > Funktionen Zitat aus dem Link: "So ändern Sie das Steuerelement Farbe oder ein Rechteck ausgelöst, um das Steuerelement gezeichnet werden." Damit ist ja alles klar... Aber prinzipiell richtig, es ist z.B. nicht unüblich, den Mauszeiger bei Öffnen eines Dialogs auf dem Ok-Button zu positionieren, und dazu braucht man nichts ausser Windows selbst, kein Framework. Aber dann wird das Programm so schlank dass man damit keinen Eindruck mehr machen kann. Georg
Die Maus ist ein relativ arbeitendes "Zeigegerät". Die Maus selber liefert Daten in der Form der Distanz (pos. u. neg.) und Richtung (x u. y) um die der Mauspfeil (vom System erzeugt) seit der letzten Abfrage bewegt werden soll. Deshalb kann man sie z.B. bei zu kleinem Mauspad auch hochheben und versetzt wieder ablegen, ohne dass sich der Mauspfeil auf dem Bildschirm bewegt. Demzufolge kann man aus der Maus/Maustreiber nur die relativen Bewegungs-Daten und aus dem System (per API) die absolute Position des Mauspfeiles auslesen. Mit entsprechenden Tools bzw. den API-Aufrufen kann man zwar "seitwärts" Daten einspielen und damit den Mauspfeil verschieben, (leider) nicht die Maus selber :-) Touchscreens und die meisten Grafik-Tabletts sind dagegen absolut arbeitende Zeigegeräte. Da entspricht die Position des Mauspfeiles auf dem Bildschirm immer der (skalierten) Position von Stift oder Finger auf der aktiven Fläche ... Eine Ausnahme sind hier spezielle Trackpads, da kann man den Finger z.B. am Rand hochnehmen und ein Stück zurück wieder aufsetzen, ohne dass der Pfeil zu dieser Poistion springt.
:
Bearbeitet durch User
Unter Linux nutzt X die device files in /dev/input/ für Maus und Tastatur. Immer wenn neue eingaben gemacht werden sieht es für Programme die aus diesen Dateien lesen so aus, als ob neue Daten (die Mausverschiebung, etc.) in die Datei geschrieben worden wären (zumindest bei den mäusen, touchscreens, pens und mousepads, bei Tastaturen bin ich mir nicht sicher, die stellen eventuell einfach nur den momentanen Zustand der Tasten bereit). Man kann dann jede Eingabe als Eingabeevent interpretieren, das je nach Eingabegerät, etc. verschiedene Daten enthält. Mäuse haben dann X und Y verschiebung, und im falle einiger dieser Knopfmause wie stark man auf den Knopf drückt. Bei 3D mausen gibts auch einfach noch ne dritte Koordinate. Bei Touchscreens sind die Koordinaten absolut, sowie meist auch bei Touchpads. Touchpads emulieren mehrere Knöpfe häufig nur, indem sie schauen wo beim Klick der Finger war. Brauchbare Stifte und Touchscreens haben noch eine Druckangabe, wobei bei letzteren diese nicht von allen Treibern exportiert wird. etc. Wenn man in einer X session ist kann man sich diese input events mit xinput ansehen. X, Wayland, etc. sind Programme die dafür da sind Fenster und Texte anzuzeigen, auf einer sehr primitiven Ebene. Bei X11 kann man mehrere Mauszeiger verschiedenen Eingabegeräten zuordnen, leider sind viele DEs nicht darauf eingerichtet. Beim erstellen eines Fensters, Setzen oder Auslesen einer Zeigerposition unter X11 komuniziert das Program mit hilfe der x library über einen socket mit dem X server. Dieser wiederum weiss die Position aller Zeiger, und weiss von Eingaben von den x input treibern, die einfach die daten aus /dev/input/XXX decodieren. Unter Windows kommunizierst du beim Setzen der Zeigerposizion über ne library über die Winapi vermutlich mit dem Kernel, aber Windows ist ne blackbox, wer weiss wo die info da wohl schlussentlich abgelegt ist.
:
Bearbeitet durch User
Daniel A. schrieb: > aber Windows ist ne > blackbox, wer weiss wo die info da wohl schlussentlich abgelegt ist. Das ist ja auch ein ganz falscher Ansatz, nach dem Speicherort für Systemvariable zu suchen (vielleicht muss man das unter Linux), dafür gibt es API-Funktionen, und die funktionieren schon seit WfW3.11 ganz unabhängig davon, wo was intern gespeichert ist. Georg
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.