Skip to content

Commit bc3f8ae

Browse files
authored
Merge pull request #2018 from keymapperorg/develop
Merge 4.0.3
2 parents 0f0bb6c + 6e5d37b commit bc3f8ae

4 files changed

Lines changed: 22 additions & 6 deletions

File tree

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
## [4.0.3](https://github.com/sds100/KeyMapper/releases/tag/v4.0.3)
2+
3+
#### 07 February 2026
4+
5+
## Fixed
6+
7+
- [#2006](https://github.com/keymapperorg/KeyMapper/issues/2006) Actually fixed the bug with crash with Locale switching
8+
- [#2014](https://github.com/keymapperorg/KeyMapper/issues/2014) Reduce mouse latency when remapped with Expert mode.
9+
110
## [4.0.2](https://github.com/sds100/KeyMapper/releases/tag/v4.0.2)
211

312
#### 04 February 2026

app/version.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
VERSION_NAME=4.0.2
2-
VERSION_CODE=242
1+
VERSION_NAME=4.0.3
2+
VERSION_CODE=243

evdev/src/main/rust/evdev_manager/core/src/event_loop.rs

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,14 @@ use crate::grab_target_key_code::GrabTargetKeyCode;
77
use crate::grabbed_device::GrabbedDevice;
88
use crate::grabbed_device_handle::GrabbedDeviceHandle;
99
use crate::runtime::get_runtime;
10-
use evdev::enums::{EventType, EV_SYN};
10+
use evdev::enums::{EventCode, EventType, EV_SYN};
1111
use evdev::util::event_code_to_int;
1212
use evdev::{InputEvent, ReadFlag, ReadStatus};
1313
use libc::c_uint;
1414
use log::Level;
1515
use mio::event::Event;
1616
use mio::{Events, Poll, Token, Waker};
17+
use std::any::Any;
1718
use std::error::Error;
1819
use std::io;
1920
use std::io::ErrorKind;
@@ -390,9 +391,15 @@ impl EventLoopThread {
390391
}
391392

392393
fn process_event(&self, device_id: usize, event: &InputEvent, grabbed_device: &GrabbedDevice) {
393-
let consumed = self
394-
.callback
395-
.on_evdev_event(device_id, &grabbed_device.device_info, event);
394+
// Key Mapper only cares about key events. Do not send other events so latency
395+
// isn't introduced with the IPC.
396+
let consumed = match event.event_code {
397+
EventCode::EV_KEY(_) => {
398+
self.callback
399+
.on_evdev_event(device_id, &grabbed_device.device_info, event)
400+
}
401+
_ => false,
402+
};
396403

397404
if !consumed {
398405
let (event_type, event_code) = event_code_to_int(&event.event_code);
-97.8 KB
Loading

0 commit comments

Comments
 (0)