Hat sich Mouseaxis geändert?

Previous topic - Next topic

Markus

Schön wäre wenn die Mausgeschwindigkeit unabhängig der Pos. ist.
In der Maus ist ja nur ein Taktzähler und mit diesem wird die Pos. verändert.
Ob es die Windows API zu läßt weiß ich aber nicht.

Man könnte zum Beispiel bei einer eigenen Scrollbar den Mauszeiger an der geklickten Pos.
stehen lassen/fest halten und trotzdem mit hoch runter den Balken schubsen.


kanonet

Gerade getestet und festgestellt: MOUSEAXIS funktioniert bei mir, auch außerhalb des Fensters, jedoch nur mit SYSTEMPOINTER TRUE. Aber egal, ob mit oder ohne Systempointer, es ist manchmal etwas hackelig (vorallem wenn sich kein MOUSESTATE in der Loop befindet), aber das könnte auch am Programm liegen.
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64

Markus

Mein Workaround , nicht schön aber selten  :x

Code (glbasic) Select

// --------------------------------- //
// Project: MausTest
// MR 18.04.2012
// IDE Version: 10.283

//SETSCREEN 1920,1080,1

SYSTEMPOINTER FALSE //mit TRUE geht nicht

ALLOWESCAPE TRUE
AUTOPAUSE TRUE

LOCAL mx,my,b1,b2
LOCAL vx,vy
REPEAT
//0=X - Geschwindigkeit
//1=Y - Geschwindigkeit
//2=Rad (1 auf, -1 ab)
//3=linke Maustaste
//4=rechte Maustaste
//5=mittlere Maustaste
    vx=MOUSEAXIS(0)
    vy=MOUSEAXIS(1)

MOUSESTATE mx,my,b1,b2 //löscht wohl auch MouseAxis darum ist das drüber

FreeMouse(mx,my)
SETPIXEL mx,my,RGB(255,255,255)

PRINT "X="+mx+" Y="+my,0,0
PRINT "VX="+vx+" VY="+vy,0,20

//PRINT "ViewW="+vieww,0,40

SHOWSCREEN
UNTIL FALSE

END

FUNCTION FreeMouse: mx,my

LOCAL viewx , viewy , vieww , viewh
GETVIEWPORT viewx, viewy, vieww, viewh

//Auf die andere Seite setzen
IF mx<8
mx=mx+vieww-8;SETMOUSE mx,my
ELSEIF mx>vieww-8
mx=mx-vieww+8;SETMOUSE mx,my
ELSEIF my<8
my=my+viewh-8;SETMOUSE mx,my
ELSEIF my>viewh-8
my=my-viewh+8;SETMOUSE mx,my
ENDIF

ENDFUNCTION

Schranz0r

Quote from: kanonet on 2012-Apr-18
Gerade getestet und festgestellt: MOUSEAXIS funktioniert bei mir, auch außerhalb des Fensters, jedoch nur mit SYSTEMPOINTER TRUE. Aber egal, ob mit oder ohne Systempointer, es ist manchmal etwas hackelig (vorallem wenn sich kein MOUSESTATE in der Loop befindet), aber das könnte auch am Programm liegen.


Wenn in Y-Richtung über oder unter dem Fenster geht Y-Richtung nimmer das gleiche in in X  links und rechts ;)
War früher nicht der Fall!
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

kanonet

Hmm stimmt. Da es nur so selektiv auftritt, würde ich vermuten, dass es ein Bug ist und kein Feature.
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64