diff options
Diffstat (limited to 'alacritty/src/config/ui_config.rs')
-rw-r--r-- | alacritty/src/config/ui_config.rs | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/alacritty/src/config/ui_config.rs b/alacritty/src/config/ui_config.rs index 62721781..a2e8d4e1 100644 --- a/alacritty/src/config/ui_config.rs +++ b/alacritty/src/config/ui_config.rs @@ -7,7 +7,7 @@ use log::{error, warn}; use serde::de::{Error as SerdeError, MapAccess, Visitor}; use serde::{self, Deserialize, Deserializer}; use unicode_width::UnicodeWidthChar; -use winit::event::{ModifiersState, VirtualKeyCode}; +use winit::keyboard::{Key, KeyLocation, ModifiersState}; use alacritty_config_derive::{ConfigDeserialize, SerdeReplace}; use alacritty_terminal::config::{Config as TerminalConfig, Program, LOG_TARGET_CONFIG}; @@ -15,7 +15,7 @@ use alacritty_terminal::term::search::RegexSearch; use crate::config::bell::BellConfig; use crate::config::bindings::{ - self, Action, Binding, Key, KeyBinding, ModeWrapper, ModsWrapper, MouseBinding, + self, Action, Binding, BindingKey, KeyBinding, ModeWrapper, ModsWrapper, MouseBinding, }; use crate::config::color::Colors; use crate::config::debug::Debug; @@ -131,13 +131,13 @@ impl UiConfig { }; for hint in &self.hints.enabled { - let binding = match hint.binding { + let binding = match &hint.binding { Some(binding) => binding, None => continue, }; let binding = KeyBinding { - trigger: binding.key, + trigger: binding.key.clone(), mods: binding.mods.0, mode: binding.mode.mode, notmode: binding.mode.not_mode, @@ -208,7 +208,7 @@ pub fn deserialize_bindings<'a, D, T>( ) -> Result<Vec<Binding<T>>, D::Error> where D: Deserializer<'a>, - T: Copy + Eq, + T: Clone + Eq, Binding<T>: Deserialize<'a>, { let values = Vec::<toml::Value>::deserialize(deserializer)?; @@ -278,8 +278,11 @@ impl Default for Hints { post_processing: true, mouse: Some(HintMouse { enabled: true, mods: Default::default() }), binding: Some(HintBinding { - key: Key::Keycode(VirtualKeyCode::U), - mods: ModsWrapper(ModifiersState::SHIFT | ModifiersState::CTRL), + key: BindingKey::Keycode { + key: Key::Character("u".into()), + location: KeyLocation::Standard, + }, + mods: ModsWrapper(ModifiersState::SHIFT | ModifiersState::CONTROL), mode: Default::default(), }), }], @@ -454,10 +457,10 @@ impl<'de> Deserialize<'de> for HintContent { } /// Binding for triggering a keyboard hint. -#[derive(Deserialize, Copy, Clone, Debug, PartialEq, Eq)] +#[derive(Deserialize, Clone, Debug, PartialEq, Eq)] #[serde(deny_unknown_fields)] pub struct HintBinding { - pub key: Key, + pub key: BindingKey, #[serde(default)] pub mods: ModsWrapper, #[serde(default)] |