Check maximum value in EvdevAbsolute

This commit is contained in:
Iwan Timmer
2014-04-10 16:05:01 +02:00
parent 22138d000c
commit 1548ca9af1
@@ -17,6 +17,7 @@ public class EvdevAbsolute {
private int avg;
private int range;
private int flat;
private boolean reverse;
@@ -46,6 +47,11 @@ public class EvdevAbsolute {
* @return input value as short
*/
public short getShort(int value) {
if (value>range+avg)
return reverse?Short.MIN_VALUE:Short.MAX_VALUE;
else if (value<range-avg)
return reverse?Short.MAX_VALUE:Short.MIN_VALUE;
else
return (short) ((value-avg) * (reverse?-range:range) / Short.MAX_VALUE);
}
@@ -55,6 +61,11 @@ public class EvdevAbsolute {
* @return input value as byte
*/
public byte getByte(int value) {
if (value>range+avg)
return reverse?Byte.MIN_VALUE:Byte.MAX_VALUE;
else if (value<range-avg)
return reverse?Byte.MAX_VALUE:Byte.MIN_VALUE;
else
return (byte) ((value-avg) * (reverse?-range:range) / Byte.MAX_VALUE);
}