(etwas ruckelige) Mausbeschleunigung

  • Maus beliebig schneller machen!
    Könnte man noch sehr verbessern, mehr smooth usw.

    Spoiler anzeigen
    [autoit]

    $mach = InputBox("SpeedMouse", "Welche Geschwindigkeit? Von 1 bis "&@desktopwidth&"?"&@crlf&@crlf&"Beenden mit ESC!")
    HotKeySet("{ESC}", "exitt")
    While 1
    $pos = MouseGetPos()
    Sleep(1)
    $tx = MouseGetPos(0)
    $ty = MouseGetPos(1)
    If $tx < $pos[0] Then
    MouseMove($tx-$mach, $ty, 1)
    EndIf
    If $tx > $pos[0] Then
    MouseMove($tx+$mach, $ty, 1)
    EndIf
    If $ty < $pos[1] Then
    MouseMove($tx, $ty-$mach, 1)
    EndIf
    If $ty > $pos[1] Then
    MouseMove($tx, $ty+$mach, 1)
    EndIf
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func exitt()
    Exit
    EndFunc

    [/autoit]
  • Hi,
    so erziehlt es den erwünschten Effekt: Es ist zwar noch ruckelig aber schon weniger als in der Version vom Startpost

    Spoiler anzeigen
    [autoit]


    $speed = 75;InputBox("SpeedMouse", "Welche Geschwindigkeit? Von 1 bis " & @DesktopWidth & "?" & @CRLF & @CRLF & "Beenden mit ESC!")
    HotKeySet("{ESC}", "_exit")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $pos = MouseGetPos()
    Global $LastXY[2] = [$pos[0], $pos[1]]
    Global $LockedXAxis = 0, $LockedYAxis = 0
    Global Const $Lock = 10

    [/autoit] [autoit][/autoit] [autoit]

    While Sleep(10)
    $pos = MouseGetPos()

    [/autoit] [autoit][/autoit] [autoit]

    If $LockedXAxis Then $LockedXAxis -= 1
    If $LockedYAxis Then $LockedYAxis -= 1

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If $pos[0] > $LastXY[0] And Not $LockedXAxis Then ; nach rechts
    MouseMove($pos[0] + $speed, $pos[1], 1)
    $LastXY[0] = $pos[0] + $speed
    $LockedYAxis = $Lock
    ContinueLoop
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $pos[1] > $LastXY[1] And Not $LockedYAxis Then ;nach unten
    MouseMove($pos[0], $pos[1] + $speed, 1)
    $LastXY[1] = $pos[1] + $speed
    $LockedXAxis = $Lock
    ContinueLoop
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $pos[0] < $LastXY[0] And Not $LockedXAxis Then ; nach links
    MouseMove($pos[0] - $speed, $pos[1], 1)
    $LastXY[0] = $pos[0] - $speed
    $LockedYAxis = $Lock
    ContinueLoop
    EndIf

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If $pos[1] < $LastXY[1] And Not $LockedYAxis Then ;nach oben
    MouseMove($pos[0], $pos[1] - $speed, 1)
    $LastXY[1] = $pos[1] - $speed
    $LockedXAxis = $Lock
    ContinueLoop
    EndIf
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    Func _exit()
    Exit
    EndFunc ;==>_exit

    [/autoit]
  • in meiner Sig die Cursor-Maus ist zwar sinnfrei,
    aber um sich die Beschleunigung einer Maus abzuschauen sollte es reichen ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

  • Es geht aber um eine Live Mausbeschleunigung, mit der Tastur ist selbst mein Skript nicht ruckelig, aber es geht um die beschleúnigte flüssige Bewegung mit der Maus.

  • hab mal die dafür vorgesehene API-Funktion verwendet

    Spoiler anzeigen
    [autoit]

    ;mousespeed by andy
    ;http://msdn.microsoft.com/en-us/library/ms724947.aspx

    [/autoit] [autoit][/autoit] [autoit]

    $speed = 1 ;between 1(slow) and 20(fast)
    _mousespeed($speed)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _mousespeed($speed)
    ;if $speed<1 or $speed>20 then return seterror(1,0,0)
    $ret = SystemParametersInfo(113, 0, $speed, 0)
    EndFunc ;==>_mousespeed

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func SystemParametersInfo($uiAction, $uiParam, $pvParam, $fWinIni)
    ;by H2AU3 from Greenhorn
    Local $aRes = DllCall("user32.dll", "BOOL", "SystemParametersInfo", _
    "UINT", $uiAction, _
    "UINT", $uiParam, _
    "PTR", $pvParam, _
    "UINT", $fWinIni)
    If IsArray($aRes) Then Return SetError(0, 0, $aRes[0])
    Return SetError(1, 0, 0)

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>SystemParametersInfo

    [/autoit]

    Geschwindigkeit einstellbar von 1(langsam)-20(schnell)

    macht die Maus zwar nicht extrem viel schneller, aber passt zum Thema^^