diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/parser.rs | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/parser.rs b/src/parser.rs index 8314e0d..62eea12 100644 --- a/src/parser.rs +++ b/src/parser.rs @@ -640,13 +640,12 @@ where { definitions() .map(|definitions| { - let mut maps = HashMap::new(); - let mut modes = HashMap::new(); + let mut map_group = MapGroup::default(); for definition in definitions { match definition { Definition::Map(map) => { - maps.insert( + map_group.maps.insert( map.trigger, MapAction { action: map.action, @@ -655,7 +654,7 @@ where ); }, Definition::Mode(mode) => { - modes.insert( + map_group.modes.insert( mode.trigger, mode.maps, ); @@ -663,10 +662,7 @@ where } } - MapGroup { - maps: maps, - modes: modes, - } + map_group }) } @@ -1244,6 +1240,18 @@ cmd <play> /usr/bin/say hello let mut mode_maps: MapCollection = HashMap::new(); maps.insert( + vec![HeadphoneButton::Up], + MapAction { + action: Action::Map( + vec![KeyboardKeyWithModifiers::new( + KeyboardKey::NXKey(key_code::NX_KEYTYPE_SOUND_UP), + vec![], + )] + ), + kind: MapKind::Map, + }, + ); + maps.insert( vec![HeadphoneButton::Down], MapAction { action: Action::String("/bin/echo nothing".to_owned()), |
