-#include <msp/graphics/window_private.h>
#include "mouse.h"
+#include <msp/graphics/window_private.h>
+#include "keys.h"
namespace Msp {
namespace Input {
if(type!=AINPUT_EVENT_TYPE_MOTION)
return;
+ int source = AInputEvent_getSource(event.aevent);
+ if(window.get_touch_input() && source!=AINPUT_SOURCE_MOUSE && source!=AINPUT_SOURCE_TOUCHPAD)
+ return;
+
/* Emulate a mouse with the touch events of a single finger. If more
fingers appear while the first one is held down, they are ignored, even if
the first finger is released. */
{
float x = AMotionEvent_getX(event.aevent, pointer_zero);
float y = AMotionEvent_getY(event.aevent, pointer_zero);
- set_axis_value(0, x*2/window.get_width()-1, true);
- set_axis_value(1, 1-y*2/window.get_height(), true);
+ set_axis_value(MOUSE_X_AXIS, x*2/window.get_width()-1, true);
+ set_axis_value(MOUSE_Y_AXIS, 1-y*2/window.get_height(), true);
}
switch(action)
case AMOTION_EVENT_ACTION_POINTER_DOWN:
case AMOTION_EVENT_ACTION_POINTER_UP:
if(action_pointer==0)
- set_button_state(1, action==AMOTION_EVENT_ACTION_DOWN, true);
+ set_button_state(MOUSE_LEFT, action==AMOTION_EVENT_ACTION_DOWN, true);
break;
default:;
}