aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/config
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2021-10-11 01:15:39 -0600
committerJosh Rahm <joshuarahm@gmail.com>2021-10-11 01:15:39 -0600
commit01554367f00f7c39ad17163cd5922a069284844a (patch)
treeeffbc4d2524657956e2684e8ed3b910616be2b99 /alacritty/src/config
parent52f6fd90867881300aa64034dc2c698c3fda1f34 (diff)
downloadr-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.rs12
-rw-r--r--alacritty/src/config/ui_config.rs2
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)?;