From f5558e61121423e728a2d7a8c00c0a8cdec48a9a Mon Sep 17 00:00:00 2001 From: MoonlightWave-12 <135532-MoonlightWave-12@users.noreply.gitlab.gnome.org> Date: Tue, 5 Nov 2024 11:04:40 +0100 Subject: [PATCH] input: Add the `Shift`-modifier Part-of: --- src/action.rs | 1 + src/data/parsing.rs | 3 +++ src/submission.rs | 1 + 3 files changed, 5 insertions(+) diff --git a/src/action.rs b/src/action.rs index 5b7f5fe9..5cbd27f4 100644 --- a/src/action.rs +++ b/src/action.rs @@ -15,6 +15,7 @@ pub enum Modifier { /// Control and Alt are the only modifiers /// which doesn't interfere with levels, /// so it's simple to implement as levels are deprecated in squeekboard. + Shift, Control, Alt, Mod4, diff --git a/src/data/parsing.rs b/src/data/parsing.rs index 6aaf78fb..7f0cb316 100644 --- a/src/data/parsing.rs +++ b/src/data/parsing.rs @@ -420,6 +420,9 @@ fn create_action( }).collect(), }, SubmitData::Modifier(modifier) => match modifier { + Modifier::Shift => action::Action::ApplyModifier( + action::Modifier::Shift, + ), Modifier::Control => action::Action::ApplyModifier( action::Modifier::Control, ), diff --git a/src/submission.rs b/src/submission.rs index 3a282fdb..7a089d0f 100644 --- a/src/submission.rs +++ b/src/submission.rs @@ -238,6 +238,7 @@ impl Submission { fn update_modifiers(&mut self) { let raw_modifiers = self.modifiers_active.iter() .map(|(_id, m)| match m { + Modifier::Shift => Modifiers::SHIFT, Modifier::Control => Modifiers::CONTROL, Modifier::Alt => Modifiers::MOD1, Modifier::Mod4 => Modifiers::MOD4,