In the PApplet implementation (enqueueTouchEvent) the current pointer id is set with this:
touchPointerId = event.getPointerId(0);
But I think it must be taken from the action like this:
touchPointerId = event.getPointerId((e.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT);
Otherwise the id is taken always from the first pointer index that is not ensured to be the recent pointer.
In the PApplet implementation (enqueueTouchEvent) the current pointer id is set with this: touchPointerId = event.getPointerId(0); But I think it must be taken from the action like this: touchPointerId = event.getPointerId((e.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT); Otherwise the id is taken always from the first pointer index that is not ensured to be the recent pointer.