I've tried to recreate the problem at home as follows:
-Using a Wacom tablet, set to 'force proportions' mode so it acts like a touchscreen
-also attaching a mouse to my laptop.
I can position the mouse on the bottom corner of the left page and then use the wacom pen to select the bottom corner of the right page. In this case, it works as it should - the pen action takes priority and the the cursor on the left page corner disappears leaving only one cursor for the pen.
Hmm, now why isn't this happening on the touchscreen?....
What OS platform are you running? (I am positive that this is specifically windows 7 related and I have not had this issue on other platforms or with TUIO).
- The Wacom tablet you are using to test has its own HID driver and the touchscreen almost always uses the windows 7 native multi-touch driver, so, it will not function the same as a touchscreen.
Try this:
1) "position the mouse on the bottom corner of the left page"
2) then randomly touch and *drag your finger quickly on the screen somewhere to update the cursor so the cursor is no longer in the btm-left corner
- to test my hypothesis that the issue occurs primarily on a draggable corner after a page turn has been fired by a click (not by dragging the page) and the cursor has remained over the corner.
3) then try to "select the bottom corner of the right page" with the touchscreen by touching and *dragging the page with your finger
- In the above control test, does the cursor update to the bottom corner of the right page as it should and start dragging the page?
If so, then Florian is correct and the mouseX/Y properties are not up-to-date.
Furthermore, a potential factor can be narrowed down to a cursor remaining on or near the position of a corner after a previously triggered page turn was fired with a click and not page drag (?)..
Correct me if I am wrong -- if the lastMouseEvent X/Y position has not been updated by a page drag, a TOUCH_DOWN/UP event (from a new location) can still target the lastMouseEvent X/Y location (?).
Florian - What are your thoughts on this?
Kotch - I am not sure how complicated this will be for you or if your touch controller supports tuio data, but, I believe it will solve your issue in the meantime if you find what you need to get it working.
- In order to use TUIO touch data instead of the windows 7 native touch driver you will need to do the following:
1) Locate & download a TUIO driver or bridge that is compatible with your touchscreen (google: make and model of your touchscreen + tuio driver, bridge etc.)
2) download this: Flash UDP->LC tuio/osc bridge (
http://gkaindl.com/software/udp-flashlc-bridge )
3) Optionally, unless you are running a WM_TOUCH tuio bridge found in step 1, you might need to disable touch/multitouch in the "Pen and Touch" & "Tablet" settings in the control panel.
4) enable the TUIO plugin and set the tuio parameters in your .mz3 <book> configuration
<book
plugins="tuio"
tuioconnector="lc"
tuiolcnamein="_OscDataStream"
tuiolcnameout="_OscDataStreamOut"
tuiotcphost="127.0.0.1"
tuiotcpport="3333"
>