minigene/systems/input_driver.rs
1use crate::*;
2
3/// Transforms `char` input events into the desired event type using a keybindings map.
4pub fn input_driver<E: Clone>(
5 keymap: &HashMap<char, E>,
6 inputs: &Vec<char>,
7 events: &mut Vec<E>,
8) -> SystemResult {
9 for i in inputs.iter() {
10 if let Some(e) = keymap.get(i) {
11 events.push(e.clone());
12 }
13 }
14 Ok(())
15}