From 0f9e8b1017421c5195d2c23aeebd3ac667238baf Mon Sep 17 00:00:00 2001 From: Steffen Butzer Date: Mon, 4 Aug 2025 06:11:21 +0200 Subject: [PATCH] fix(client): fix special key modifiers on linux (#906) This makes CTRL+C, CTRL+V, etc. work. --- crates/ironrdp-client/src/app.rs | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/crates/ironrdp-client/src/app.rs b/crates/ironrdp-client/src/app.rs index 76b89338..5304c096 100644 --- a/crates/ironrdp-client/src/app.rs +++ b/crates/ironrdp-client/src/app.rs @@ -11,7 +11,6 @@ use winit::application::ApplicationHandler; use winit::dpi::{LogicalPosition, PhysicalSize}; use winit::event::{self, WindowEvent}; use winit::event_loop::{ActiveEventLoop, ControlFlow, EventLoop}; -use winit::keyboard::ModifiersKeyState; use winit::platform::scancode::PhysicalKeyExtScancode as _; use winit::window::{CursorIcon, CustomCursor, Window, WindowAttributes}; @@ -189,10 +188,10 @@ impl ApplicationHandler for App { operations.push(operation); }; - add_operation(state.lshift_state() == ModifiersKeyState::Pressed, SHIFT_LEFT); - add_operation(state.lcontrol_state() == ModifiersKeyState::Pressed, CONTROL_LEFT); - add_operation(state.lalt_state() == ModifiersKeyState::Pressed, ALT_LEFT); - add_operation(state.lsuper_state() == ModifiersKeyState::Pressed, LOGO_LEFT); + add_operation(state.state().shift_key(), SHIFT_LEFT); + add_operation(state.state().control_key(), CONTROL_LEFT); + add_operation(state.state().alt_key(), ALT_LEFT); + add_operation(state.state().super_key(), LOGO_LEFT); let input_events = self.input_database.apply(operations);