diff --git a/retroarch.c b/retroarch.c index b69416093b..5c066cf3a1 100644 --- a/retroarch.c +++ b/retroarch.c @@ -1734,7 +1734,7 @@ bool rarch_ctl(enum rarch_ctl_state state, void *data) runloop_system.mmaps.descriptors = NULL; runloop_system.mmaps.num_descriptors = 0; - runloop_key_event = NULL; + rarch_ctl(RARCH_CTL_UNSET_KEY_EVENT, NULL); runloop_frontend_key_event = NULL; audio_driver_unset_callback(); @@ -2032,6 +2032,9 @@ bool rarch_ctl(enum rarch_ctl_state state, void *data) *key_event = &runloop_key_event; } break; + case RARCH_CTL_UNSET_KEY_EVENT: + runloop_key_event = NULL; + break; case RARCH_CTL_FRONTEND_KEY_EVENT_GET: { retro_keyboard_event_t **key_event = diff --git a/retroarch.h b/retroarch.h index f49189ec9b..daccb3a6c2 100644 --- a/retroarch.h +++ b/retroarch.h @@ -159,6 +159,7 @@ enum rarch_ctl_state /* Key event */ RARCH_CTL_FRONTEND_KEY_EVENT_GET, + RARCH_CTL_UNSET_KEY_EVENT, RARCH_CTL_KEY_EVENT_GET, RARCH_CTL_DATA_DEINIT,