keyboard debug logging

This commit is contained in:
galister
2024-06-07 12:15:20 +09:00
parent 8eb6df9644
commit bb88137533
2 changed files with 9 additions and 8 deletions

View File

@@ -47,7 +47,7 @@ pub trait HidProvider {
fn send_button(&mut self, button: u16, down: bool); fn send_button(&mut self, button: u16, down: bool);
fn wheel(&mut self, delta: i32); fn wheel(&mut self, delta: i32);
fn set_modifiers(&mut self, mods: u8); fn set_modifiers(&mut self, mods: u8);
fn send_key(&self, key: u16, down: bool); fn send_key(&self, key: VirtualKey, down: bool);
fn set_desktop_extent(&mut self, extent: Vec2); fn set_desktop_extent(&mut self, extent: Vec2);
fn set_desktop_origin(&mut self, origin: Vec2); fn set_desktop_origin(&mut self, origin: Vec2);
fn commit(&mut self); fn commit(&mut self);
@@ -218,16 +218,17 @@ impl HidProvider for UInputProvider {
let m = 1 << i; let m = 1 << i;
if changed & m != 0 { if changed & m != 0 {
if let Some(vk) = MODS_TO_KEYS.get(m).into_iter().flatten().next() { if let Some(vk) = MODS_TO_KEYS.get(m).into_iter().flatten().next() {
self.send_key(*vk as u16, modifiers & m != 0); self.send_key(*vk, modifiers & m != 0);
} }
} }
} }
self.cur_modifiers = modifiers; self.cur_modifiers = modifiers;
} }
fn send_key(&self, key: u16, down: bool) { fn send_key(&self, key: VirtualKey, down: bool) {
log::debug!("send_key: {:?} {}", key, down);
let time = get_time(); let time = get_time();
let events = [ let events = [
new_event(time, EV_KEY, key - 8, down as _), new_event(time, EV_KEY, (key as u16) - 8, down as _),
new_event(time, EV_SYN, 0, 0), new_event(time, EV_SYN, 0, 0),
]; ];
if let Err(res) = self.handle.write(&events) { if let Err(res) = self.handle.write(&events) {
@@ -275,7 +276,7 @@ impl HidProvider for DummyProvider {
fn send_button(&mut self, _button: u16, _down: bool) {} fn send_button(&mut self, _button: u16, _down: bool) {}
fn wheel(&mut self, _delta: i32) {} fn wheel(&mut self, _delta: i32) {}
fn set_modifiers(&mut self, _modifiers: u8) {} fn set_modifiers(&mut self, _modifiers: u8) {}
fn send_key(&self, _key: u16, _down: bool) {} fn send_key(&self, _key: VirtualKey, _down: bool) {}
fn set_desktop_extent(&mut self, _extent: Vec2) {} fn set_desktop_extent(&mut self, _extent: Vec2) {}
fn set_desktop_origin(&mut self, _origin: Vec2) {} fn set_desktop_origin(&mut self, _origin: Vec2) {}
fn commit(&mut self) {} fn commit(&mut self) {}

View File

@@ -194,7 +194,7 @@ fn key_press(
app.hid_provider.set_modifiers(data.modifiers); app.hid_provider.set_modifiers(data.modifiers);
} }
app.hid_provider.send_key(*vk as _, true); app.hid_provider.send_key(*vk, true);
*pressed = true; *pressed = true;
} }
Some(KeyButtonData::Modifier { modifier, sticky }) => { Some(KeyButtonData::Modifier { modifier, sticky }) => {
@@ -206,7 +206,7 @@ fn key_press(
Some(KeyButtonData::Macro { verbs }) => { Some(KeyButtonData::Macro { verbs }) => {
data.key_click(app); data.key_click(app);
for (vk, press) in verbs { for (vk, press) in verbs {
app.hid_provider.send_key(*vk as _, *press); app.hid_provider.send_key(*vk, *press);
} }
} }
Some(KeyButtonData::Exec { program, args, .. }) => { Some(KeyButtonData::Exec { program, args, .. }) => {
@@ -230,7 +230,7 @@ fn key_release(
) { ) {
match control.state.as_mut() { match control.state.as_mut() {
Some(KeyButtonData::Key { vk, pressed }) => { Some(KeyButtonData::Key { vk, pressed }) => {
app.hid_provider.send_key(*vk as _, false); app.hid_provider.send_key(*vk, false);
*pressed = false; *pressed = false;
for m in AUTO_RELEASE_MODS.iter() { for m in AUTO_RELEASE_MODS.iter() {