diff --git a/Cargo.lock b/Cargo.lock index ff6c411..9e0c55c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,15 @@ # It is not intended for manual editing. version = 3 +[[package]] +name = "aho-corasick" +version = "0.7.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +dependencies = [ + "memchr", +] + [[package]] name = "async-io" version = "1.6.0" @@ -21,6 +30,17 @@ dependencies = [ "winapi", ] +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + [[package]] name = "autocfg" version = "1.0.1" @@ -110,6 +130,19 @@ dependencies = [ "syn", ] +[[package]] +name = "env_logger" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b2cf0344971ee6c64c31be0d530793fba457d322dfec2810c453d0ef228f9c3" +dependencies = [ + "atty", + "humantime", + "log", + "regex", + "termcolor", +] + [[package]] name = "evdev" version = "0.11.3" @@ -255,6 +288,21 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + [[package]] name = "indexmap" version = "1.7.0" @@ -444,6 +492,23 @@ version = "0.6.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "643f8f41a8ebc4c5dc4515c82bb8abd397b527fc20fd681b7c011c2aee5d44fb" +[[package]] +name = "regex" +version = "1.5.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d07a8629359eb56f1e2fb1652bb04212c072a87ba68546a04065d525673ac461" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.6.25" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f497285884f3fcff424ffc933e56d7cbca511def0c9831a7f9b5f6153e3cc89b" + [[package]] name = "ryu" version = "1.0.9" @@ -569,6 +634,15 @@ version = "1.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" +[[package]] +name = "termcolor" +version = "1.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4" +dependencies = [ + "winapi-util", +] + [[package]] name = "thiserror" version = "1.0.30" @@ -641,6 +715,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" +[[package]] +name = "winapi-util" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178" +dependencies = [ + "winapi", +] + [[package]] name = "winapi-x86_64-pc-windows-gnu" version = "0.4.0" @@ -670,9 +753,11 @@ dependencies = [ name = "xremap" version = "0.1.0" dependencies = [ + "env_logger", "evdev", "getopts", "lazy_static", + "log", "nix 0.23.1", "serde", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index 7604499..03b640d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,14 +6,16 @@ edition = "2021" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] +env_logger = "0.9.0" evdev = "0.11.3" getopts = "0.2" -swayipc = { git = "https://github.com/k0kubun/swayipc-rs" } lazy_static = "1.4.0" +log = "0.4.14" nix = "0.23.1" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_yaml = "0.8" +swayipc = { git = "https://github.com/k0kubun/swayipc-rs" } x11_rs = { package = "x11", version = "2.19.1", features = ["xlib"] } zbus = "1.9.2" diff --git a/src/event_handler.rs b/src/event_handler.rs index db41cf2..c90597f 100644 --- a/src/event_handler.rs +++ b/src/event_handler.rs @@ -6,6 +6,7 @@ use crate::Config; use evdev::uinput::VirtualDevice; use evdev::{EventType, InputEvent, Key}; use lazy_static::lazy_static; +use log::debug; use std::collections::HashMap; use std::error::Error; @@ -38,7 +39,7 @@ impl EventHandler { pub fn on_event(&mut self, event: InputEvent, config: &Config) -> Result<(), Box> { self.application_cache = None; // expire cache let mut key = Key::new(event.code()); - // println!("=> {}: {:?}", event.value(), &key); + debug!("=> {}: {:?}", event.value(), &key); // Apply modmap for modmap in &config.modmap { @@ -62,13 +63,14 @@ impl EventHandler { } return Ok(()); } - self.send_key(&key, event.value())?; Ok(()) } pub fn send_event(&mut self, event: InputEvent) -> std::io::Result<()> { - // if event.event_type() == EventType::KEY { println!("{}: {:?}", event.value(), Key::new(event.code())) } + if event.event_type() == EventType::KEY { + debug!("{}: {:?}", event.value(), Key::new(event.code())) + } self.device.emit(&[event]) } diff --git a/src/main.rs b/src/main.rs index 689ef64..fb070e7 100644 --- a/src/main.rs +++ b/src/main.rs @@ -23,6 +23,7 @@ fn abort(message: &str) -> ! { } fn main() { + env_logger::init(); let argv: Vec = env::args().collect(); let program = argv[0].clone();