diff --git a/imgui-winit-support/src/lib.rs b/imgui-winit-support/src/lib.rs index 42af0b1..3483a0a 100644 --- a/imgui-winit-support/src/lib.rs +++ b/imgui-winit-support/src/lib.rs @@ -441,7 +441,13 @@ impl WinitPlatform { _ => (), } } - WindowEvent::ReceivedCharacter(ch) => io.add_input_character(ch), + WindowEvent::ReceivedCharacter(ch) => { + // Exclude the backspace key ('\u{7f}'). Otherwise we will insert this char and then + // delete it. + if ch != '\u{7f}' { + io.add_input_character(ch) + } + } WindowEvent::CursorMoved { position, .. } => { let position = self.scale_pos_from_winit(window, position); io.mouse_pos = [position.x as f32, position.y as f32]; @@ -474,7 +480,7 @@ impl WinitPlatform { MouseButton::Left => io.mouse_down[0] = pressed, MouseButton::Right => io.mouse_down[1] = pressed, MouseButton::Middle => io.mouse_down[2] = pressed, - MouseButton::Other(idx @ 0...4) => io.mouse_down[idx as usize] = pressed, + MouseButton::Other(idx @ 0..=4) => io.mouse_down[idx as usize] = pressed, _ => (), } }