mirror of
https://github.com/moonlight-stream/moonlight-embedded.git
synced 2026-02-16 10:30:47 +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;
|
||||
else if (value<avg-range)
|
||||
return reverse?Short.MAX_VALUE:Short.MIN_VALUE;
|
||||
else
|
||||
return (short) ((value-avg) * Short.MAX_VALUE / (reverse?-range:range));
|
||||
else {
|
||||
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;
|
||||
else if (value<avg-range)
|
||||
return reverse?Byte.MAX_VALUE:Byte.MIN_VALUE;
|
||||
else
|
||||
return (byte) ((value-avg) * Byte.MAX_VALUE / (reverse?-range:range));
|
||||
else {
|
||||
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.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);
|
||||
absLY = new EvdevAbsolute(device, mapping.abs_y, !mapping.reverse_y);
|
||||
absRX = new EvdevAbsolute(device, mapping.abs_rx, mapping.reverse_rx);
|
||||
|
||||
Reference in New Issue
Block a user