diff --git a/src/trekstor/input.rs b/src/trekstor/input.rs index 3052a66..bab461c 100644 --- a/src/trekstor/input.rs +++ b/src/trekstor/input.rs @@ -47,10 +47,14 @@ impl InputState { for event in events { match event.destructure() { EventSummary::AbsoluteAxis(_, AbsoluteAxisCode::ABS_X, value) => { - self.x = (((value - 13) as f32 / 882.) * (self.width as f32)) as i32; + self.x = ((((value - 13) as f32 / 882.) * (self.width as f32)) as i32) + .max(0) + .min(self.width); } EventSummary::AbsoluteAxis(_, AbsoluteAxisCode::ABS_Y, value) => { - self.y = (((value - 13) as f32 / 624.) * (self.height as f32)) as i32; + self.y = ((((value - 13) as f32 / 624.) * (self.height as f32)) as i32) + .max(0) + .min(self.width); } EventSummary::Key(_, key, value) => match value { 1 => {