mirror of
https://github.com/moonlight-stream/moonlight-embedded.git
synced 2026-06-17 22:32:43 +00:00
Don't stop sending gamepad packets after receiving non mapped event
This commit is contained in:
@@ -23,7 +23,7 @@ public class EvdevHandler extends EvdevReader {
|
|||||||
private short buttonFlags;
|
private short buttonFlags;
|
||||||
private byte leftTrigger, rightTrigger;
|
private byte leftTrigger, rightTrigger;
|
||||||
private short leftStickX, leftStickY, rightStickX, rightStickY;
|
private short leftStickX, leftStickY, rightStickX, rightStickY;
|
||||||
private boolean gamepadModified;
|
private boolean gamepadSynced;
|
||||||
|
|
||||||
private short mouseDeltaX, mouseDeltaY;
|
private short mouseDeltaX, mouseDeltaY;
|
||||||
private byte mouseScroll;
|
private byte mouseScroll;
|
||||||
@@ -48,6 +48,7 @@ public class EvdevHandler extends EvdevReader {
|
|||||||
absDY = new EvdevAbsolute(device, mapping.abs_dpad_y, mapping.reverse_dpad_y);
|
absDY = new EvdevAbsolute(device, mapping.abs_dpad_y, mapping.reverse_dpad_y);
|
||||||
|
|
||||||
translator = new KeyboardTranslator(conn);
|
translator = new KeyboardTranslator(conn);
|
||||||
|
gamepadSynced = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -62,11 +63,12 @@ public class EvdevHandler extends EvdevReader {
|
|||||||
short type = buffer.getShort();
|
short type = buffer.getShort();
|
||||||
short code = buffer.getShort();
|
short code = buffer.getShort();
|
||||||
int value = buffer.getInt();
|
int value = buffer.getInt();
|
||||||
|
boolean gamepadModified = false;
|
||||||
|
|
||||||
if (type==EvdevConstants.EV_SYN) {
|
if (type==EvdevConstants.EV_SYN) {
|
||||||
if (gamepadModified) {
|
if (!gamepadSynced) {
|
||||||
conn.sendControllerInput(buttonFlags, leftTrigger, rightTrigger, leftStickX, leftStickY, rightStickX, rightStickY);
|
conn.sendControllerInput(buttonFlags, leftTrigger, rightTrigger, leftStickX, leftStickY, rightStickX, rightStickY);
|
||||||
gamepadModified = false;
|
gamepadSynced = true;
|
||||||
}
|
}
|
||||||
if (mouseDeltaX != 0 || mouseDeltaY != 0) {
|
if (mouseDeltaX != 0 || mouseDeltaY != 0) {
|
||||||
conn.sendMouseMove(mouseDeltaX, mouseDeltaY);
|
conn.sendMouseMove(mouseDeltaX, mouseDeltaY);
|
||||||
@@ -195,6 +197,8 @@ public class EvdevHandler extends EvdevReader {
|
|||||||
} else
|
} else
|
||||||
gamepadModified = false;
|
gamepadModified = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gamepadSynced &= !gamepadModified;
|
||||||
}
|
}
|
||||||
|
|
||||||
private short accountForDeadzone(short value) {
|
private short accountForDeadzone(short value) {
|
||||||
|
|||||||
Reference in New Issue
Block a user