diff --git a/winit-android/src/keycodes.rs b/winit-android/src/keycodes.rs index 75f4fb2bd..9b1fe1f0d 100644 --- a/winit-android/src/keycodes.rs +++ b/winit-android/src/keycodes.rs @@ -109,6 +109,7 @@ pub fn to_physical_key(keycode: Keycode) -> PhysicalKey { Keycode::MediaStop => KeyCode::MediaStop, Keycode::MediaNext => KeyCode::MediaTrackNext, Keycode::MediaPrevious => KeyCode::MediaTrackPrevious, + Keycode::MediaEject => KeyCode::Eject, Keycode::Plus => KeyCode::Equal, Keycode::Minus => KeyCode::Minus, @@ -131,7 +132,11 @@ pub fn to_physical_key(keycode: Keycode) -> PhysicalKey { // These are exactly the same Keycode::ScrollLock => KeyCode::ScrollLock, + Keycode::Eisu => KeyCode::Lang2, + Keycode::Muhenkan => KeyCode::NonConvert, + Keycode::Henkan => KeyCode::Convert, Keycode::Yen => KeyCode::IntlYen, + Keycode::Ro => KeyCode::IntlRo, Keycode::Kana => KeyCode::Lang1, Keycode::KatakanaHiragana => KeyCode::KanaMode, @@ -154,6 +159,14 @@ pub fn to_physical_key(keycode: Keycode) -> PhysicalKey { Keycode::Sleep => KeyCode::Sleep, // what about SoftSleep? Keycode::Wakeup => KeyCode::WakeUp, + Keycode::CapsLock => KeyCode::CapsLock, + Keycode::Help => KeyCode::Help, + + Keycode::Back => KeyCode::BrowserBack, + Keycode::Forward => KeyCode::BrowserForward, + Keycode::Refresh => KeyCode::BrowserRefresh, + Keycode::Search => KeyCode::BrowserSearch, + keycode => return PhysicalKey::Unidentified(NativeKeyCode::Android(keycode.into())), }) } diff --git a/winit/src/changelog/unreleased.md b/winit/src/changelog/unreleased.md index a99ce6628..32910b707 100644 --- a/winit/src/changelog/unreleased.md +++ b/winit/src/changelog/unreleased.md @@ -47,6 +47,7 @@ changelog entry. - On Redox, add support for missing keyboard scancodes. - Implement `Send` and `Sync` for `OwnedDisplayHandle`. - Use new macOS 15 cursors for resize icons. +- On Android, added scancode conversions for more obscure key codes. ### Changed