From 144f55a3be586692e3b22d4ec27e5d3661506ed7 Mon Sep 17 00:00:00 2001 From: rrr-marble Date: Sun, 27 Jun 2021 21:57:29 +0300 Subject: [PATCH] add: space and lmb mash macros --- src/main.rs | 2 ++ src/pedals.rs | 20 ++++++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 2a8f5d3..5a97e18 100644 --- a/src/main.rs +++ b/src/main.rs @@ -75,6 +75,8 @@ use evdev::{uinput::VirtualDeviceBuilder, AttributeSet, Key}; fn create_device() -> Result> { let mut keys = AttributeSet::::new(); keys.insert(Key::KEY_F); + keys.insert(Key::KEY_SPACE); + keys.insert(Key::BTN_LEFT); let device = VirtualDeviceBuilder::new()? .name("DPK Wired Gaming Keyboard Combo") diff --git a/src/pedals.rs b/src/pedals.rs index 5612641..3b50363 100644 --- a/src/pedals.rs +++ b/src/pedals.rs @@ -5,7 +5,15 @@ pub fn pedals() -> Vec { vec![ Pedal { key: Key::BTN_SIDE, - action: Box::new(|tx| ()), + action: Box::new(|tx| { + let code = Key::KEY_SPACE.code(); + let down_event = InputEvent::new(EventType::KEY, code, 1); + let up_event = InputEvent::new(EventType::KEY, code, 0); + tx.send(down_event).unwrap(); + std::thread::sleep(std::time::Duration::from_millis(26)); + tx.send(up_event).unwrap(); + std::thread::sleep(std::time::Duration::from_millis(31)); + }), }, Pedal { key: Key::BTN_EXTRA, @@ -21,7 +29,15 @@ pub fn pedals() -> Vec { }, Pedal { key: Key::BTN_RIGHT, - action: Box::new(|tx| ()), + action: Box::new(|tx| { + let code = Key::BTN_LEFT.code(); + let down_event = InputEvent::new(EventType::KEY, code, 1); + let up_event = InputEvent::new(EventType::KEY, code, 0); + tx.send(down_event).unwrap(); + std::thread::sleep(std::time::Duration::from_millis(19)); + tx.send(up_event).unwrap(); + std::thread::sleep(std::time::Duration::from_millis(26)); + }), }, ] }