![]() |
Beschleunigung der Maus herausfinden
Hallo,
ich habe vor ein kleines Programm zu schreiben und wollte nun gerne mal wissen, ob es möglich ist, die Beschleunigung der Maus herauszufinden (wenn ja: WIE ;-))! TMouse macht das ja nicht mit - der sagt mir nur wo die maus ist. Also bräuchte Beschleunigung und Sensivity... Hat jemand ne Idee? |
Re: Beschleunigung der Maus herausfinden
Wenn es möglich ist, dann kannst du die Beschl. so ausrechnen:
a = (2*s)/(t*t) wobei s die Strecke ist und t die dafür benötigte Zeit. Du müsstest also für s den Abstand zweier Koordinaten nehmen und für t die Zeit, die die Maus brauch, um diese Strecke s zurückzulegen. Aber ob das in der Praxis geht, weiss ich nicht. |
Re: Beschleunigung der Maus herausfinden
Das war mir schon klar, jedoch wollte ich nicht diese Beschleunigung herausfinden..
Sondern eher die der Maus. Also dass sich die Maus mehr bewegt (auf dem Bildschirm), wenn man sie auf dem selben Abstand auf dem Mousepad bewegt - je nachdem WIE SCHNELL man sie bewegt! Ansonsten danke.. |
Re: Beschleunigung der Maus herausfinden
Müßte in der Registry stehen. Aber der Wert dürfte da von abhängig sein, wie ihn der Treiber interpretiert, ob damit dann was anfangen kann ist eien andere sache.
|
Re: Beschleunigung der Maus herausfinden
Und wo da??
|
Re: Beschleunigung der Maus herausfinden
HKEY_CURRENT_USER\Control Panel\Mouse\MouseSpeed
hat ca 5 min gedauert um es rauszusuchen, ohne doku, nur mit regedit... MfG |
Re: Beschleunigung der Maus herausfinden
Code:
So gehts richtig, aber es taugt nicht wirklich. Viele Maustreiber implementieren ihre eigene private Beschleunigungskurve.
var
Vals: array [0..2] of Integer; begin Vals[0] := 0; Vals[1] := 0; Vals[2] := 0; SystemParametersInfo(SPI_GETMOUSE, 0, @SystemSpeed[0], 0); //... SystemParametersInfo(SPI_SETMOUSE, 0, @Vals[0], SPIF_SENDCHANGE); |
Re: Beschleunigung der Maus herausfinden
dann wollen wir doch mal diesen Thread mal erwecken:
"So gehts richtig, aber es taugt nicht wirklich. Viele Maustreiber implementieren ihre eigene private Beschleunigungskurve. " startet man "main.cpl Maus", erhält man das control panel, welches eine Vorschau der Mausbeschleunigung unterstützt. Da ich von meinem Programm aus Mausbeschleunigungswerte verwalten möchte, hätte ich den Wert gerne ausgelesen. Leider ist bei SystemParametersInfo(SPI_GETMOUSE,0,@array,0) dermaßen der Wurm drin, dass fast immer 0, 0, 0 zurückgegeben wird (für threshold1, threshold2 und speed). Ist das jetzt ein Witz oder einfach nur Windows? |
Re: Beschleunigung der Maus herausfinden
MouseSensitivity 1 bis 20
Delphi-Quellcode:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Control Panel\Mouse] "ActiveWindowTracking"=dword:00000000 "DoubleClickHeight"="4" "DoubleClickSpeed"="500" "DoubleClickWidth"="4" "MouseSensitivity"="18" "MouseSpeed"="1" "MouseThreshold1"="6" "SmoothMouseXCurve"=hex:00,00,00,00,00,00,00,00,15,6e,00,00,00,00,00,00,00,40,\ 01,00,00,00,00,00,29,dc,03,00,00,00,00,00,00,00,28,00,00,00,00,00 "SmoothMouseYCurve"=hex:00,00,00,00,00,00,00,00,b8,5e,01,00,00,00,00,00,cd,4c,\ 05,00,00,00,00,00,cd,4c,18,00,00,00,00,00,00,00,38,02,00,00,00,00 "MouseThreshold2"="10" "SnapToDefaultButton"="1" "SwapMouseButtons"="0" "MouseTrails"="0" |
Re: Beschleunigung der Maus herausfinden
Sorry, aber das ist genausoweit gefehlt.
Weder interessiert sich windows für die settings unter diesem Registryschlüssel, noch werden die Werte beim Neustart übernommen. Das Mapping ist unter "HKLM\SOFTWARE\Microsoft\Windows NT\Current Version\IniFileMapping\win.ini\Windows" zu finden und die Referenz auf diesen Wert ist mit #USR:Control Panel\Mouse schlichtweg auskommentiert. Fazit: der Spaß wird (ggf. ab neueren Versionen oder generell für USB-Mäuse) anders gelöst und das steht weder bei NtQuerySystemInformation noch bei SystemParametersInfo noch bei Artikeln, die auf die Registryeinträge Bezug nehmen. Die dort gespeicherten Werte werden wohl bloß der Abwärtskompatibilität wegen vorgehalten. Ein hoch auf gute Dokumentation :wall: :wall: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz