fix(objects/input) mouse pointer gives correct keymap now

This commit is contained in:
Nova
2024-06-16 21:42:25 -04:00
parent 53979ce167
commit 9b6b450d18

View File

@@ -14,7 +14,7 @@ use color_eyre::eyre::Result;
use glam::{vec3, Mat4, Vec3}; use glam::{vec3, Mat4, Vec3};
use mint::Vector2; use mint::Vector2;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use slotmap::DefaultKey; use slotmap::{DefaultKey, Key as SlotKey};
use stardust_xr::values::Datamap; use stardust_xr::values::Datamap;
use std::sync::Arc; use std::sync::Arc;
use stereokit_rust::system::{Input, Key}; use stereokit_rust::system::{Input, Key};
@@ -48,7 +48,7 @@ impl Default for MouseEvent {
pub struct KeyboardEvent { pub struct KeyboardEvent {
pub keyboard: (), pub keyboard: (),
pub xkbv1: (), pub xkbv1: (),
pub keymap_id: String, pub keymap_id: u64,
pub keys: Vec<i32>, pub keys: Vec<i32>,
} }
impl Default for KeyboardEvent { impl Default for KeyboardEvent {
@@ -56,7 +56,7 @@ impl Default for KeyboardEvent {
Self { Self {
keyboard: (), keyboard: (),
xkbv1: (), xkbv1: (),
keymap_id: "flatscreen".to_string(), keymap_id: 0,
keys: Default::default(), keys: Default::default(),
} }
} }
@@ -97,12 +97,17 @@ impl MousePointer {
Ok(MousePointer { Ok(MousePointer {
node, node,
keymap,
spatial, spatial,
pointer, pointer,
capture: None, capture: None,
mouse_datamap: Default::default(), mouse_datamap: Default::default(),
keyboard_datamap: Default::default(), keyboard_datamap: KeyboardEvent {
keyboard: (),
xkbv1: (),
keymap_id: keymap.data().as_ffi(),
keys: vec![],
},
keymap,
keyboard_sender, keyboard_sender,
}) })
} }