diff options
author | Josh Rahm <joshuarahm@gmail.com> | 2021-10-11 01:15:39 -0600 |
---|---|---|
committer | Josh Rahm <joshuarahm@gmail.com> | 2021-10-11 01:15:39 -0600 |
commit | 01554367f00f7c39ad17163cd5922a069284844a (patch) | |
tree | effbc4d2524657956e2684e8ed3b910616be2b99 /alacritty/src/config | |
parent | 52f6fd90867881300aa64034dc2c698c3fda1f34 (diff) | |
download | r-alacritty-01554367f00f7c39ad17163cd5922a069284844a.tar.gz r-alacritty-01554367f00f7c39ad17163cd5922a069284844a.tar.bz2 r-alacritty-01554367f00f7c39ad17163cd5922a069284844a.zip |
Make keybindings more consistent with libtermkey
Diffstat (limited to 'alacritty/src/config')
-rw-r--r-- | alacritty/src/config/bindings.rs | 12 | ||||
-rw-r--r-- | alacritty/src/config/ui_config.rs | 2 |
2 files changed, 10 insertions, 4 deletions
diff --git a/alacritty/src/config/bindings.rs b/alacritty/src/config/bindings.rs index 9f4bbaee..dc648541 100644 --- a/alacritty/src/config/bindings.rs +++ b/alacritty/src/config/bindings.rs @@ -1,5 +1,6 @@ #![allow(clippy::enum_glob_use)] +use log::{trace}; use std::fmt::{self, Debug, Display}; use bitflags::bitflags; @@ -47,16 +48,21 @@ pub type KeyBinding = Binding<Key>; /// Bindings that are triggered by a mouse button. pub type MouseBinding = Binding<MouseButton>; -impl<T: Eq> Binding<T> { +impl<T: Eq + Debug> Binding<T> { #[inline] pub fn is_triggered_by(&self, mode: BindingMode, mods: ModifiersState, input: &T) -> bool { // Check input first since bindings are stored in one big list. This is // the most likely item to fail so prioritizing it here allows more // checks to be short circuited. - self.trigger == *input + if self.trigger == *input && self.mods == mods && mode.contains(self.mode) - && !mode.intersects(self.notmode) + && !mode.intersects(self.notmode) { + trace!("Hit trigger on {:#?}, {:#?}", input, mode); + true + } else { + false + } } #[inline] diff --git a/alacritty/src/config/ui_config.rs b/alacritty/src/config/ui_config.rs index 3ce02161..f05b243c 100644 --- a/alacritty/src/config/ui_config.rs +++ b/alacritty/src/config/ui_config.rs @@ -173,7 +173,7 @@ fn deserialize_bindings<'a, D, T>( ) -> Result<Vec<Binding<T>>, D::Error> where D: Deserializer<'a>, - T: Copy + Eq, + T: Copy + Eq + std::fmt::Debug, Binding<T>: Deserialize<'a>, { let values = Vec::<serde_yaml::Value>::deserialize(deserializer)?; |