'fine mouse move with arrows
'Bug: MOUSEMOVE on FULLSCREEN works in Desktop coordinates,
' but can't exceed screen coordinates
'press [Alt][Enter] to show FULLSCREEN
PhDtp = DESKTOPWIDTH
PvDtp = DESKTOPHEIGHT
PixHor = 1366: PixVer = 768
'PixHor = 1728: PixVer = 972
SCREEN NEWIMAGE
(PixHor
, PixVer
, 256) 'FULLSCREEN , SMOOTH
SCREENMOVE 0, 0
pxcenter = PixHor \ 2
pycenter = PixVer \ 2
PhCar = FONTWIDTH
PvCar = FONTHEIGHT
pyps = PixVer - PvCar
PRINT "Desktop:"; PhDtp; PvDtp;
"Screen:"; PixHor; PixVer
ifull = FULLSCREEN
PRINT "Use Keyboard arrors to fine position the mouse cursor, press any key to mark with +, [Backspace] to retrive last mark, click to draw." PRINT "Test in FULLSCREEN, presing [Alt][Enter]: Now MOUSEMOVE works on Desktop coordinates"
mx = 0
my = 0
markx = PixHor \ 2
marky = PixVer \ 2
MOUSESHOW
MOUSEMOVE pxcenter, pycenter 'center mouse
PRINTSTRING (pxcenter - PhCar \ 2, pycenter - PvCar \ 2), "X"
nfull = FULLSCREEN
ifull = nfull
mx = MOUSEX
my = MOUSEY
mClick = MOUSEBUTTON(1)
' mouseRight = MOUSEBUTTON(2)
' mouseMiddle = MOUSEBUTTON(3)
' MOUSEWHEEL
'... capture arrows & do mouse move
move = 9
PRINTSTRING (mx - PhCar \ 2, my - PvCar \ 2), "+"
markx = mx: marky = my
mxi = mx: myi = my
PRINTSTRING
(380, pyps
), "Last move:" + STR$(move
) IF FULLSCREEN
THEN '1:stretch, 2:squarepixels mxmovi
= CINT(mx
* PhDtp
/ PixHor
) 'scale conversion for mousemove mymovi
= CINT(my
* PvDtp
/ PixVer
)
mx = markx
my = marky
mxmov
= CINT(mx
* PhDtp
/ PixHor
) mymov
= CINT(my
* PvDtp
/ PixVer
) IF mxmov
>= PixHor
THEN move
= 0 IF mymov
>= PixVer
THEN move
= 0 MOUSEMOVE mxmov, mymov
mx = mxi: my = myi
mx = markx
my = marky
MOUSEMOVE mx, my
move = 0