mirror of
https://github.com/moonlight-stream/moonlight-embedded.git
synced 2026-06-17 06:11:36 +00:00
Handle deadzone better
This commit is contained in:
@@ -55,8 +55,10 @@ public class EvdevAbsolute {
|
|||||||
return reverse?Short.MIN_VALUE:Short.MAX_VALUE;
|
return reverse?Short.MIN_VALUE:Short.MAX_VALUE;
|
||||||
else if (value<avg-range)
|
else if (value<avg-range)
|
||||||
return reverse?Short.MAX_VALUE:Short.MIN_VALUE;
|
return reverse?Short.MAX_VALUE:Short.MIN_VALUE;
|
||||||
else
|
else {
|
||||||
return (short) ((value-avg) * Short.MAX_VALUE / (reverse?-range:range));
|
value += value<avg?flat:-flat;
|
||||||
|
return (short) ((value-avg) * Short.MAX_VALUE / (reverse?flat-range:range-flat));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -71,8 +73,10 @@ public class EvdevAbsolute {
|
|||||||
return reverse?Byte.MIN_VALUE:Byte.MAX_VALUE;
|
return reverse?Byte.MIN_VALUE:Byte.MAX_VALUE;
|
||||||
else if (value<avg-range)
|
else if (value<avg-range)
|
||||||
return reverse?Byte.MAX_VALUE:Byte.MIN_VALUE;
|
return reverse?Byte.MAX_VALUE:Byte.MIN_VALUE;
|
||||||
else
|
else {
|
||||||
return (byte) ((value-avg) * Byte.MAX_VALUE / (reverse?-range:range));
|
value += value<avg?flat:-flat;
|
||||||
|
return (byte) ((value-avg) * Byte.MAX_VALUE / (reverse?flat-range:range-flat));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -38,6 +38,9 @@ public class EvdevHandler extends EvdevReader {
|
|||||||
this.conn = conn;
|
this.conn = conn;
|
||||||
this.mapping = mapping;
|
this.mapping = mapping;
|
||||||
|
|
||||||
|
// We want limelight-common to scale the axis values to match Xinput values
|
||||||
|
ControllerPacket.enableAxisScaling = true;
|
||||||
|
|
||||||
absLX = new EvdevAbsolute(device, mapping.abs_x, mapping.reverse_x);
|
absLX = new EvdevAbsolute(device, mapping.abs_x, mapping.reverse_x);
|
||||||
absLY = new EvdevAbsolute(device, mapping.abs_y, !mapping.reverse_y);
|
absLY = new EvdevAbsolute(device, mapping.abs_y, !mapping.reverse_y);
|
||||||
absRX = new EvdevAbsolute(device, mapping.abs_rx, mapping.reverse_rx);
|
absRX = new EvdevAbsolute(device, mapping.abs_rx, mapping.reverse_rx);
|
||||||
|
|||||||
Reference in New Issue
Block a user