summaryrefslogtreecommitdiff
path: root/crates
diff options
context:
space:
mode:
authorLLLL Colonq <llll@colonq>2025-05-02 22:56:37 -0400
committerLLLL Colonq <llll@colonq>2025-05-02 22:56:37 -0400
commitfa62367de73065ea6ca6da45d9c8745bb80a21e3 (patch)
tree4305e3dbd9d073105e0942f4ecf7c49647951269 /crates
parentca9beff76b2ec77247b33a2ad208ed59588fb96a (diff)
How very foolish
Diffstat (limited to 'crates')
-rw-r--r--crates/teleia/src/lib.rs4
-rw-r--r--crates/teleia/src/state.rs33
2 files changed, 22 insertions, 15 deletions
diff --git a/crates/teleia/src/lib.rs b/crates/teleia/src/lib.rs
index 916a405..3990892 100644
--- a/crates/teleia/src/lib.rs
+++ b/crates/teleia/src/lib.rs
@@ -279,10 +279,10 @@ where
..
} => match state {
winit::event::ElementState::Pressed => {
- st.key_pressed(&ctx, *key)
+ st.key_pressed(&ctx, state::Keycode { kc: *key })
},
winit::event::ElementState::Released => {
- st.key_released(&ctx, *key)
+ st.key_released(&ctx, state::Keycode { kc: *key })
},
}
_ => {},
diff --git a/crates/teleia/src/state.rs b/crates/teleia/src/state.rs
index 5524f19..48fd4c3 100644
--- a/crates/teleia/src/state.rs
+++ b/crates/teleia/src/state.rs
@@ -99,11 +99,18 @@ pub struct PointLight {
type Timestamp = f64;
#[cfg(target_arch = "wasm32")]
-pub type Keycode = winit::keyboard::KeyCode;
+#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
+pub struct Keycode {
+ pub kc: winit::keyboard::KeyCode,
+}
+#[cfg(target_arch = "wasm32")]
+impl Keycode {
+ pub fn new(kc: winit::keyboard::KeyCode) -> Self { Self { kc } }
+}
#[cfg(target_arch = "wasm32")]
impl Display for Keycode {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- write!(f, "{:?}", self)
+ write!(f, "{:?}", self.kc)
}
}
@@ -181,16 +188,16 @@ pub fn now(ctx: &context::Context) -> Timestamp {
#[cfg(target_arch = "wasm32")]
pub fn default_keybindings() -> BiHashMap<Keycode, Key> {
BiHashMap::from_iter(vec![
- (winit::keyboard::KeyCode::KeyW, Key::Up),
- (winit::keyboard::KeyCode::KeyS, Key::Down),
- (winit::keyboard::KeyCode::KeyA, Key::Left),
- (winit::keyboard::KeyCode::KeyD, Key::Right),
- (winit::keyboard::KeyCode::Digit1, Key::A),
- (winit::keyboard::KeyCode::Digit2, Key::B),
- (winit::keyboard::KeyCode::KeyQ, Key::L),
- (winit::keyboard::KeyCode::KeyE, Key::R),
- (winit::keyboard::KeyCode::Tab, Key::Start),
- (winit::keyboard::KeyCode::Space, Key::Select),
+ (Keycode::new(winit::keyboard::KeyCode::KeyW), Key::Up),
+ (Keycode::new(winit::keyboard::KeyCode::KeyS), Key::Down),
+ (Keycode::new(winit::keyboard::KeyCode::KeyA), Key::Left),
+ (Keycode::new(winit::keyboard::KeyCode::KeyD), Key::Right),
+ (Keycode::new(winit::keyboard::KeyCode::Digit1), Key::A),
+ (Keycode::new(winit::keyboard::KeyCode::Digit2), Key::B),
+ (Keycode::new(winit::keyboard::KeyCode::KeyQ), Key::L),
+ (Keycode::new(winit::keyboard::KeyCode::KeyE), Key::R),
+ (Keycode::new(winit::keyboard::KeyCode::Tab), Key::Start),
+ (Keycode::new(winit::keyboard::KeyCode::Space), Key::Select),
])
}
@@ -431,7 +438,7 @@ impl State {
key: Keycode,
) {
#[cfg(target_arch = "wasm32")]
- let rebind = key == winit::keyboard::KeyCode::F12;
+ let rebind = key.kc == winit::keyboard::KeyCode::F12;
#[cfg(not(target_arch = "wasm32"))]
let rebind = key.kc == glfw::Key::F12;
if rebind {