IronRDP icon indicating copy to clipboard operation
IronRDP copied to clipboard

keyboard left shift and direction keys don't work

Open zombiehoffa opened this issue 1 year ago • 1 comments

I have a keychron k10 pro keyboard connected via usb and the left shift and arrow keys don't work. I've tried the other ibm keyboard layouts via passing the cli option but it doens't appear to do anything. Any help would be much appreciated. I"m running latest gity code.

zombiehoffa avatar Aug 20 '24 16:08 zombiehoffa

Hi!

Maybe our input event handling logic is lacking. Since you are building from master, I think you could easily provide us with more troubleshooting information.

At this place: https://github.com/Devolutions/IronRDP/blob/af7deae70ab21435e9f0a864210b17c63efdd9e3/crates/ironrdp-client/src/app.rs#L159-L172

Can you modify that in such way?

                if let Some(scancode) = event.physical_key.to_scancode() {
                    let scancode = ironrdp::input::Scancode::from_u16(u16::try_from(scancode).unwrap());

                    let operation = match event.state {
                        event::ElementState::Pressed => ironrdp::input::Operation::KeyPressed(scancode),
                        event::ElementState::Released => ironrdp::input::Operation::KeyReleased(scancode),
                    };

                    let input_events = self.input_database.apply(std::iter::once(operation));

                    send_fast_path_events(&self.input_event_sender, input_events);
                } else {
                    warn!(?event, "Unhandled keyboard event");
                }

And then, let’s see what kind of warnings we get.

CBenoit avatar Aug 22 '24 03:08 CBenoit