aboutsummaryrefslogtreecommitdiff
path: root/alacritty/src/config/ui_config.rs
diff options
context:
space:
mode:
Diffstat (limited to 'alacritty/src/config/ui_config.rs')
-rw-r--r--alacritty/src/config/ui_config.rs21
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)]