diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt index 58598ccdc4..5e49a38047 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt @@ -235,10 +235,13 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener { } override fun dispatchKeyEvent(event: KeyEvent): Boolean { + val isPhysicalKeyboard = event.source and InputDevice.SOURCE_KEYBOARD == InputDevice.SOURCE_KEYBOARD && + event.device?.isVirtual == false + if (event.source and InputDevice.SOURCE_JOYSTICK != InputDevice.SOURCE_JOYSTICK && event.source and InputDevice.SOURCE_GAMEPAD != InputDevice.SOURCE_GAMEPAD && - event.source and InputDevice.SOURCE_KEYBOARD != InputDevice.SOURCE_KEYBOARD && - event.source and InputDevice.SOURCE_MOUSE != InputDevice.SOURCE_MOUSE + event.source and InputDevice.SOURCE_MOUSE != InputDevice.SOURCE_MOUSE && + !isPhysicalKeyboard ) { return super.dispatchKeyEvent(event) }