Add support for X1 and X2 mouse buttons

This commit is contained in:
Cameron Gutman 2018-10-05 00:56:30 -07:00
parent 7dea322bbd
commit 1d7c8697e9
4 changed files with 36 additions and 2 deletions

View File

@ -1010,6 +1010,24 @@ public class Game extends Activity implements SurfaceHolder.Callback,
}
}
if ((changedButtons & MotionEvent.BUTTON_BACK) != 0) {
if ((event.getButtonState() & MotionEvent.BUTTON_BACK) != 0) {
conn.sendMouseButtonDown(MouseButtonPacket.BUTTON_X1);
}
else {
conn.sendMouseButtonUp(MouseButtonPacket.BUTTON_X1);
}
}
if ((changedButtons & MotionEvent.BUTTON_FORWARD) != 0) {
if ((event.getButtonState() & MotionEvent.BUTTON_FORWARD) != 0) {
conn.sendMouseButtonDown(MouseButtonPacket.BUTTON_X2);
}
else {
conn.sendMouseButtonUp(MouseButtonPacket.BUTTON_X2);
}
}
// Get relative axis values if we can
if (inputCaptureProvider.eventHasRelativeMouseAxes(event)) {
// Send the deltas straight from the motion event
@ -1360,6 +1378,12 @@ public class Game extends Activity implements SurfaceHolder.Callback,
case EvdevListener.BUTTON_RIGHT:
buttonIndex = MouseButtonPacket.BUTTON_RIGHT;
break;
case EvdevListener.BUTTON_X1:
buttonIndex = MouseButtonPacket.BUTTON_X1;
break;
case EvdevListener.BUTTON_X2:
buttonIndex = MouseButtonPacket.BUTTON_X2;
break;
default:
LimeLog.warning("Unhandled button: "+buttonId);
return;

View File

@ -4,6 +4,8 @@ public interface EvdevListener {
int BUTTON_LEFT = 1;
int BUTTON_MIDDLE = 2;
int BUTTON_RIGHT = 3;
int BUTTON_X1 = 4;
int BUTTON_X2 = 5;
void mouseMove(int deltaX, int deltaY);
void mouseButtonEvent(int buttonId, boolean down);

View File

@ -151,7 +151,15 @@ public class EvdevCaptureProvider extends InputCaptureProvider {
break;
case EvdevEvent.BTN_SIDE:
case EvdevEvent.BTN_EXTRA:
listener.mouseButtonEvent(EvdevListener.BUTTON_X1,
event.value != 0);
break;
case EvdevEVent.BTN_EXTRA:
listener.mouseButtonEvent(EvdevListener.BUTTON_X2,
event.value != 0);
break;
case EvdevEvent.BTN_FORWARD:
case EvdevEvent.BTN_BACK:
case EvdevEvent.BTN_TASK:

@ -1 +1 @@
Subproject commit 643d4b3c918d39fa14ed199d616ff90dbb7be953
Subproject commit 31d6b4cb9f216c799c4fc2f01a96feb03c49c328