The Museum of HP Calculators

HP Forum Archive 21

[ Return to Index | Top of Index ]

HP Prime MOUSE command
Message #1 Posted by Sans on 14 Oct 2013, 6:35 a.m.

Hi,

I'm learning the using of MOUSE() command but I can´t get to understand how it really works. I wrote a little program that change the color of the screen depending the position of the pointer, but I have the following questions:

1.- How can I stop the loop until the next touch of the screen? I tried with BREAK and WAIT with no succes.
2.- What is the difference between the 0 and 1 value of MOUSE(4).
3.- Is there another alternative to wait for the touch of the screen whitout using a loop?

My goal is just to create a button to execute one action.

Sorry if my questions are too trivial.

EXPORT TOUCH()
BEGIN LOCAL xi,ni;
WHILE ni:=1 DO
ni:=B->R(MOUSE(4));
RECT();
xi:=B->R(MOUSE(0));
IF xi<160 THEN
RECT_P(0,0,160,240,#000000,#0000BB)
ELSE
RECT_P(160,0,320,240,#000000,#FF0000)
END;
END;
END;
END;

      
Re: HP Prime MOUSE command
Message #2 Posted by Tim Wessman on 14 Oct 2013, 10:33 a.m.,
in response to message #1 by Sans

1. Currently, no way. Most likely will be something like WAIT(-1) to also stop on mouse presses.
2. 1 should indicate (I believe) that you have a completed touch event (eg - finger down then up) with no additional drags, movements, etc.
3. Not at the moment.

TW

Edited: 14 Oct 2013, 10:33 a.m.

      
Re: HP Prime MOUSE command
Message #3 Posted by cyrille de Brébisson on 15 Oct 2013, 11:04 a.m.,
in response to message #1 by Sans

hello,

MOUSE(4) is an integer 0..5 which descibes the type of detected mouse gesture: New=0 Completed=1 Drag=2 Stretch=3 Rotate=4 LongClick=5

in most cases, with the MOUSE command, you will get a 0 or 2..

cyrille

            
Re: HP Prime MOUSE command
Message #4 Posted by Han on 15 Oct 2013, 12:15 p.m.,
in response to message #3 by cyrille de Brébisson

Quote:
hello,

MOUSE(4) is an integer 0..5 which descibes the type of detected mouse gesture: New=0 Completed=1 Drag=2 Stretch=3 Rotate=4 LongClick=5

in most cases, with the MOUSE command, you will get a 0 or 2..

cyrille


Cyrille,

Can you clarify whether MOUSE works with a mouse buffer? If so, how is it flushed? Does calling MOUSE() immediately pop a mouse event?


[ Return to Index | Top of Index ]

Go back to the main exhibit hall