Mausbewegungen erkennen
Hallo.
Ist es jemandem möglich meine Mausbewegungen zu erkennen und sie in Tastendrücke umzuändern?
Also nicht nur in 4 Richtungen sondern etwas präziser damit ich es auch diagonal benutzen kann?
Danke im Voraus
Ist es jemandem möglich meine Mausbewegungen zu erkennen und sie in Tastendrücke umzuändern?
Also nicht nur in 4 Richtungen sondern etwas präziser damit ich es auch diagonal benutzen kann?
Danke im Voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 595619
Url: https://administrator.de/forum/mausbewegungen-erkennen-595619.html
Ausgedruckt am: 18.05.2025 um 09:05 Uhr
7 Kommentare
Neuester Kommentar
Naja - man könnte sowas sicher programmieren aber die frage wäre - wofür? Du brauchst ja dann eine Bewegung für jeden Buchstaben - ggf. mit Sonderzeichen. D.h. da wärst du allein im Deutschen schon bei ca. 30, dazu noch nen Space, Punkt, Komma,... Man müsste also jetzt entweder dir sagen das bei 360 Grad alle 10 Grad nen anderes Zeichen kommt (und dabei noch nicht mal Klein-/Gross unterschieden wird!) ODER dir halt die üblichen "komplexen" Bewegungen geben (wie mitm Finger aufm Smartphone) was aber mit der Maus eher schwerer wird...
Aber Programmmässig wäre es jetzt kein sonderliches Problem zu sagen z.B. "Maustaste geklickt" - starte aufzeichnung des Weges - "maustaste wieder geklickt" - stoppe aufzeichnung des Weges... Das macht z.B. PuttyGen (ohne vorher auf nen Mausklick zu warten) um dir einen zufallswert zu erzeugen...
Aber Programmmässig wäre es jetzt kein sonderliches Problem zu sagen z.B. "Maustaste geklickt" - starte aufzeichnung des Weges - "maustaste wieder geklickt" - stoppe aufzeichnung des Weges... Das macht z.B. PuttyGen (ohne vorher auf nen Mausklick zu warten) um dir einen zufallswert zu erzeugen...
hi
grundsätzlich möglich. Ist die Frage wie präzise du das dann nachher brauchst.
Du kannst ja ganz einfach die aktuelle Mausposition abfragen. Da bekommst du eine XY Koordinate.
Frag die position einfach periodisch ab und dann schau wo sich die Maus befindet.
Teile dann den Bildschirm in Raster auf und schau ob sich die Position im Raster einach nur gerade nach oben/unten bzw Links/rechts befindet, dann drückst du nur "nach oben\rechts\usw". Wenn sich die Position auf der entsprechend anderen Achse auch verschoben hat, dann drückst du die zugehörige Taste. Vom Prinzip her nicht so schwer. Auf die Feinheiten kommts dann nachher halt an. Aber dazu ist deine Frage zu generell gestellt
grundsätzlich möglich. Ist die Frage wie präzise du das dann nachher brauchst.
Du kannst ja ganz einfach die aktuelle Mausposition abfragen. Da bekommst du eine XY Koordinate.
Frag die position einfach periodisch ab und dann schau wo sich die Maus befindet.
Teile dann den Bildschirm in Raster auf und schau ob sich die Position im Raster einach nur gerade nach oben/unten bzw Links/rechts befindet, dann drückst du nur "nach oben\rechts\usw". Wenn sich die Position auf der entsprechend anderen Achse auch verschoben hat, dann drückst du die zugehörige Taste. Vom Prinzip her nicht so schwer. Auf die Feinheiten kommts dann nachher halt an. Aber dazu ist deine Frage zu generell gestellt

Bitteschön
https://www.strokesplus.com
https://www.strokesplus.com

Kann die oben genannte Anwendung, oder man schreibt es sich schnell selbst, z.B. mit Powershell
Hier im Beispiel wird nur erkannt wenn man die linke Shift-taste gedrückt hält und dann die Geste ausführt.
Gesten: Vertikal nach oben, unten, links, rechts und alle 4 Ecken. Minimale Länge der Gesten und vertikale und horizontale Abweichungen für die Gesten kann mit den Variablen ab Zeile 4 gesteuert werden.
Hier im Beispiel wird nur erkannt wenn man die linke Shift-taste gedrückt hält und dann die Geste ausführt.
Gesten: Vertikal nach oben, unten, links, rechts und alle 4 Ecken. Minimale Länge der Gesten und vertikale und horizontale Abweichungen für die Gesten kann mit den Variablen ab Zeile 4 gesteuert werden.
$w = (gcim win32_DesktopMonitor).ScreenWidth -1
$h = (gcim win32_DesktopMonitor).ScreenHeight -1
$minstrokelength_vertical = 100
$maxdeviation_vertical = 30
$minstrokelength_horizontal = 100
$maxdeviation_horizontal = 30
Add-Type -A System.Windows.Forms
Add-Type –MemberDefinition '
[DllImport("USER32.dll")]public static extern short GetKeyState(int nVirtKey);
' -name "tool" -namespace W32
$last = [System.Windows.Forms.Cursor]::Position
while($true){
$pos = [System.Windows.Forms.Cursor]::Position
# only trigger when LEFT SHIFT button is pressed
if ([W32.tool]::GetKeyState(0xA0) -band 0x8000){
# recognize vertical stroke (downwards)
if ([math]::Abs($pos.X - $last.X) -le $maxdeviation_vertical -and $pos.Y-$last.Y -ge $minstrokelength_vertical){
"Down stroke detected"
}
# recognize vertical stroke (upwards)
if ([math]::Abs($pos.X - $last.X) -le $maxdeviation_vertical -and $last.Y-$pos.Y -ge $minstrokelength_vertical){
"Up stroke detected"
}
# recognize horizontal stroke (right)
if ([math]::Abs($pos.Y - $last.Y) -le $maxdeviation_horizontal -and $pos.X-$last.X -ge $minstrokelength_horizontal){
"Right stroke detected"
}
# recognize horizontal stroke (left)
if ([math]::Abs($pos.Y - $last.Y) -le $maxdeviation_horizontal -and $last.X-$pos.X -ge $minstrokelength_horizontal){
"Left stroke detected"
}
# corner detection
switch($pos){
(New-Object System.Drawing.Point 0,0) {"top left corner"}
(New-Object System.Drawing.Point $w,0) {"top right corner"}
(New-Object System.Drawing.Point 0,$h) {"bottom left corner"}
(New-Object System.Drawing.Point $w,$h) {"bottom right corner"}
}
}
$last = $pos
sleep 1
}

Ja, SendKeys ist dein Freund
https://docs.microsoft.com/de-de/office/vba/language/reference/user-inte ...
(new-object -com wscript.shell).SendKeys("{ENTER}")