From e4ded2c09e6c378040f80e80886aa9c087fe14b4 Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Thu, 14 Aug 2025 22:28:39 -0400 Subject: Automata rendering --- crates/renderer/src/input.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 crates/renderer/src/input.rs (limited to 'crates/renderer/src/input.rs') diff --git a/crates/renderer/src/input.rs b/crates/renderer/src/input.rs new file mode 100644 index 0000000..f0536e9 --- /dev/null +++ b/crates/renderer/src/input.rs @@ -0,0 +1,30 @@ +use device_query::DeviceQuery; + +pub enum Command { + None, + Drawing, + EraseAll, +} +pub struct Input { + pub device: device_query::DeviceState, +} +impl Input { + pub fn new() -> Self { + Self { + device: device_query::DeviceState::new(), + } + } + pub fn get_mouse(&self) -> (i32, i32) { + self.device.get_mouse().coords + } + pub fn get_command(&mut self) -> Command { + let keys = self.device.get_keys(); + if keys.contains(&device_query::Keycode::LMeta) { + Command::Drawing + } else if keys.contains(&device_query::Keycode::RMeta) { + Command::EraseAll + } else { + Command::None + } + } +} -- cgit v1.2.3