AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[FRAGE]Mousometer

Ein Thema von XXcD · begonnen am 27. Sep 2009 · letzter Beitrag vom 28. Sep 2009
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#11

Re: [FRAGE]Mousometer

  Alt 27. Sep 2009, 23:06
Ok jetzt bin ich doch leicht verwirrt.
Also mit dem Satz des Pythagoras wird ja die dritte Strecke in einem Dreieck berechnet,
aber warum muss man dann noch mittels sqr die Wurzel ziehen?

Und mit DPI wird doch auch die Geschwindigkeit der Maus angegeben(meine Maus hat 2.000 DPI) oder irre ich mich da?
  Mit Zitat antworten Zitat
Clemens L.

Registriert seit: 27. Apr 2008
35 Beiträge
 
Delphi 2009 Architect
 
#12

Re: [FRAGE]Mousometer

  Alt 27. Sep 2009, 23:26
Zitat von XXcD:
Ok jetzt bin ich doch leicht verwirrt.
Also mit dem Satz des Pythagoras wird ja die dritte Strecke in einem Dreieck berechnet,
aber warum muss man dann noch mittels sqr die Wurzel ziehen?

Und mit DPI wird doch auch die Geschwindigkeit der Maus angegeben(meine Maus hat 2.000 DPI) oder irre ich mich da?

Mit DPI meinte ich die von Windows, die zur Darstellung verwendet wird. Wenn der Bildschirm nicht mit einer falschen Auflösung betrieben wird, kannst du damit die Pixel / Zoll berechnen. (Mein Windows hat z.b. 92 dpi glaub ich)

Siehe auch Punktdichte


Zweiter Nachtrag:

Selbst ein LowLevel-Maushook kommt bei schnellen bewegungen nicht mit
Clemens
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.685 Beiträge
 
Delphi 2007 Enterprise
 
#13

Re: [FRAGE]Mousometer

  Alt 27. Sep 2009, 23:40
Zitat von XXcD:
Und mit DPI wird doch auch die Geschwindigkeit der Maus angegeben(meine Maus hat 2.000 DPI) oder irre ich mich da?
Du irrst dich. Maus mit 2000 DPI heisst zunächst einmal, dass wenn du die Maus 1 Zoll (2,54cm) bewegst, sendet sie 2000 mal ein Positionsupdate zum PC. In was das letztlich umgesetzt wird, also die tatsächliche Geschwindigkeit wird dann erst frühestens im Treiber umgesetzt. Es steht einem ja frei ein solch ein "Update-Tick" als 1 Pixel oder 10, oder auch nur 0,1 zu interpretieren.
Eine Maus mit 1000 DPI kann also genau so "schnell" (lies: Cursor, bei gleich weiter physischer Bewegung der Maus selbst, um gleich viele Pixel verschoben) wie eine mit 2000 DPI gemacht sein.

Was in diesem Zusammenhang gemeint ist, ist dass man bei Bildschirmen im Allgemeinen von ca. 72 DPI Auflösung ausgeht, so dass der Cursor, wenn er sich um 72 Pixel bewegt hat, auf der Bildfläche mit einem Lineal nachgemessen ca. 1 Zoll zurückgelegt hat. Das ist aber nur ein (ziemlich) grober Schätzwert, da die DPI von Bildschirm zu Bildschirm und je nach Auflösung teils erheblich abweichen.
Damit kommt man aber zumindest schon mal so weit, dass man ungefähr sagen kann wie viel Strecke der Cursor (nicht die Maus!!!) gemacht hat.

Um die tatsächliche Maus-Strecke zu bekommen, brauchst du noch mehr Infos: 1) Die DPI der Maus, 2) Den Umrechnungsfaktor der via Treiber (und ggf. nachträglich noch durch's OS) angewendet wird. Der ist allerdings der Knackpunkt: Er kann variabel sein, man schaue sich mal die Option der verbesserten Mausbeschleunigung an.

Im Grunde ist es also fast schon egal was du wo und wie berechnest, da mit vertretbarem Aufwand für solch eine sinnfreie Spielerei ohnehin nur arg grobe Schätzungen dabei heraus kommen. Es sei denn du willst die Bewegung des Cursors in Pixeln - das geht mit o.g. Mitteln sehr genau

\\Edit: Ich glaube wenn du einen globalen LowLevel-Maushook einrichtest, bekommst du wirklich für jeden Tick den die Maus sendet einen Callback fällt mir gerade ein! Wenn du das mit den DPI der Maus verrechnest, kommst du denke ich doch schon recht nah dran, ohne den Umweg über die Umrechnungsstufen "Treiber und Windows Mauseinstellungen".
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Clemens L.

Registriert seit: 27. Apr 2008
35 Beiträge
 
Delphi 2009 Architect
 
#14

Re: [FRAGE]Mousometer

  Alt 28. Sep 2009, 00:13
Zitat von Medium:
\\Edit: Ich glaube wenn du einen globalen LowLevel-Maushook einrichtest, bekommst du wirklich für jeden Tick den die Maus sendet einen Callback fällt mir gerade ein! Wenn du das mit den DPI der Maus verrechnest, kommst du denke ich doch schon recht nah dran, ohne den Umweg über die Umrechnungsstufen "Treiber und Windows Mauseinstellungen".
Ich hab vor einem halben Jahr oder so einen zu diesem Zweck geschrieben, und konnte ganz deutlich erkennen, das wenn ich die Maus richtig schnell bewege, ungefähr ein drittel der Bewegung verloren geht.

Ich weiss jetzt außerdem nicht, ob ich die Frage richtig verstanden hab: Geht es jetzt um die Strecke die der Cursor auf dem Bildschirm in CM zurücklegt oder die Maus auf dem Schreibtisch?
Clemens
  Mit Zitat antworten Zitat
Benutzerbild von XXcD
XXcD

Registriert seit: 19. Sep 2006
581 Beiträge
 
Delphi 2007 Professional
 
#15

Re: [FRAGE]Mousometer

  Alt 28. Sep 2009, 00:19
Eigentlich ging es um die maus, aber die Idee hab ich schon wieder übern Tisch geworfen da gibt es einfach zu viele Probleme.

Also ich setze mich jetzt mal dran und schreib da was um die Strecke des Cursor zu berechnen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#16

Re: [FRAGE]Mousometer

  Alt 28. Sep 2009, 00:59
Im Grunde ist das mit der Maus relativ ähnlich, vorallem da hier eh ständig kleine Rundungsfehler reinkommen werden.

Statt mit den DPI zu rechnen könntest du dann einfach einen sebst errechneten/gemessen Wert rechnen.

z.B. man nehme ein A4 Blatt und bewege die Maus darüber ... also z.B. eine Seite der Maus von einem Blattende zum Anderen beweden und Pixel messen ... dann hast du Pixel/cm
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz