diff --git a/src/config.rs b/src/config.rs index a95cd9e..825308d 100644 --- a/src/config.rs +++ b/src/config.rs @@ -348,6 +348,7 @@ fn parse_keybind( .map(|s| s.to_string()) .collect::>() .len() == 1 { true } else { false }; + log::trace!("Consume: {}", consume); let mode = match tokens .iter() .filter(|s| s.starts_with("[") && s.ends_with("]")) @@ -360,8 +361,11 @@ fn parse_keybind( None } }; - let mod_index = if mode.is_some() { 1 } else { 0 }; - + let mut mod_index = if mode.is_some() { 1 } else { 0 }; + // make sure to push index forward + if consume { + mod_index += 1; + } let modifiers: Vec = tokens[mod_index..(tokens.len() - 1)] .iter() .map(|token| *mod_to_mod_enum.get(token.as_str()).unwrap())