From b38304cae54c044a5a45a02648e4d8924d0e5f10 Mon Sep 17 00:00:00 2001 From: Eric Warmenhoven Date: Thu, 23 May 2024 11:10:34 -0400 Subject: [PATCH] iOS/tvOS: default accessibility on if voice over is enabled --- configuration.c | 7 ++++++- ui/drivers/cocoa/apple_platform.h | 5 +++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/configuration.c b/configuration.c index f2715660d1..b661bb67ff 100644 --- a/configuration.c +++ b/configuration.c @@ -70,7 +70,7 @@ #include "switch_performance_profiles.h" #endif -#if TARGET_OS_TV +#if IOS #include "ui/drivers/cocoa/apple_platform.h" #endif @@ -2880,6 +2880,11 @@ void config_set_defaults(void *data) load_timezone(settings->arrays.timezone); #endif +#if IOS + configuration_set_bool(settings, + settings->bools.accessibility_enable, UIAccessibilityIsVoiceOverRunning()); +#endif + #ifdef HAVE_MENU if (first_initialized) configuration_set_bool(settings, diff --git a/ui/drivers/cocoa/apple_platform.h b/ui/drivers/cocoa/apple_platform.h index 018aa5e36d..7c27dbac94 100644 --- a/ui/drivers/cocoa/apple_platform.h +++ b/ui/drivers/cocoa/apple_platform.h @@ -1,6 +1,11 @@ #ifndef COCOA_APPLE_PLATFORM_H #define COCOA_APPLE_PLATFORM_H +#if TARGET_OS_IPHONE +/* this comes from UIKit but you cannot #include UIKit from C */ +extern bool UIAccessibilityIsVoiceOverRunning(void); +#endif + #if TARGET_OS_TV #include "config_file.h" extern config_file_t *open_userdefaults_config_file(void);