diff --git a/src/event_reader.rs b/src/event_reader.rs index 557a95b..0dbdf30 100644 --- a/src/event_reader.rs +++ b/src/event_reader.rs @@ -343,15 +343,20 @@ impl EventReader { if let Some(event_list) = map.get(&modifiers) { self.emit_event(event_list, value, &modifiers, modifiers.is_empty(), !modifiers.is_empty()).await; return - } else if let Some(event_list) = map.get(&vec![Event::Hold]) { + } + if let Some(event_list) = map.get(&vec![Event::Hold]) { if !modifiers.is_empty() || self.settings.chain_only == false { self.emit_event(event_list, value, &modifiers, false, false).await; return - } else if let Some(event_list) = map.get(&Vec::new()) { - self.emit_event(event_list, value, &modifiers, true, false).await; - return } - } else if let Some(event_list) = map.get(&Vec::new()) { + } + if let Some(map) = path.bindings.commands.get(&event) { + if let Some(command_list) = map.get(&modifiers) { + if value == 1 {self.spawn_subprocess(command_list).await}; + return + } + } + if let Some(event_list) = map.get(&Vec::new()) { self.emit_event(event_list, value, &modifiers, true, false).await; return } @@ -617,3 +622,4 @@ impl EventReader { } } +