HP Forums

Full Version: HP Prime MOUSE command
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

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;

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.

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

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?