vlc/vlc-3.0 | branch: master | Felix Paul Kühne <fe...@feepk.net> | Fri Oct 25 07:57:18 2019 +0200| [c8cee0ad8beba188662ce66987c0c37fa6b3bf8b] | committer: Felix Paul Kühne
macosx/Apple Remote: add support for macOS 10.15 (fixes #22976) Manual back-port of b3c389bf > http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=c8cee0ad8beba188662ce66987c0c37fa6b3bf8b --- NEWS | 3 ++ modules/gui/macosx/AppleRemote.m | 50 ++++++++++++++++++++++----------- modules/gui/macosx/CompatibilityFixes.h | 3 +- 3 files changed, 38 insertions(+), 18 deletions(-) diff --git a/NEWS b/NEWS index 931fcd4e4f..66755c1961 100644 --- a/NEWS +++ b/NEWS @@ -17,6 +17,9 @@ Packetizers: Decoder: * avcodec: revector video decoder to fix incomplete drain +macOS: + * Fix Apple Remote support on macOS Catalina + Misc: * Add missing .wpl & .zpl file associations on Windows diff --git a/modules/gui/macosx/AppleRemote.m b/modules/gui/macosx/AppleRemote.m index 452a1e5d22..7395e0b563 100644 --- a/modules/gui/macosx/AppleRemote.m +++ b/modules/gui/macosx/AppleRemote.m @@ -75,23 +75,39 @@ const NSTimeInterval HOLD_RECOGNITION_TIME_INTERVAL=0.4; hidDeviceInterface = NULL; NSMutableDictionary * mutableCookieToButtonMapping = [[NSMutableDictionary alloc] init]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonVolume_Plus] forKey:@"33_31_30_21_20_2_"]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonVolume_Minus] forKey:@"33_32_30_21_20_2_"]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonMenu] forKey:@"33_22_21_20_2_33_22_21_20_2_"]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonPlay] forKey:@"33_23_21_20_2_33_23_21_20_2_"]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonRight] forKey:@"33_24_21_20_2_33_24_21_20_2_"]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonLeft] forKey:@"33_25_21_20_2_33_25_21_20_2_"]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonRight_Hold] forKey:@"33_21_20_14_12_2_"]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonLeft_Hold] forKey:@"33_21_20_13_12_2_"]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonMenu_Hold] forKey:@"33_21_20_2_33_21_20_2_"]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonPlay_Sleep] forKey:@"37_33_21_20_2_37_33_21_20_2_"]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:k2009RemoteButtonPlay] forKey:@"33_21_20_8_2_33_21_20_8_2_"]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:k2009RemoteButtonFullscreen] forKey:@"33_21_20_3_2_33_21_20_3_2_"]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteControl_Switched] forKey:@"42_33_23_21_20_2_33_23_21_20_2_"]; - - if (OSX_HIGH_SIERRA_AND_HIGHER) { - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonVolume_Plus] forKey:@"33_21_20_15_12_2_"]; - [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonVolume_Minus] forKey:@"33_21_20_16_12_2_"]; + if (OSX_CATALINA_AND_HIGHER) { + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonVolume_Plus] forKey:@"35_23_22_17_14_4_3_35_23_22_4_3_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonVolume_Minus] forKey:@"35_23_22_18_14_4_3_35_23_22_4_3_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonMenu] forKey:@"35_24_23_22_4_3_35_24_23_22_4_3_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonPlay] forKey:@"35_23_22_10_4_3_35_23_22_10_4_3_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonRight] forKey:@"35_26_23_22_4_3_35_26_23_22_4_3_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonLeft] forKey:@"35_27_23_22_4_3_35_27_23_22_4_3_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonRight_Hold] forKey:@"35_23_22_16_14_4_3_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonLeft_Hold] forKey:@"35_23_22_15_14_4_3_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonMenu_Hold] forKey:@"35_23_22_4_3_35_23_22_4_3_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonPlay_Sleep] forKey:@"39_35_23_22_4_3_39_35_23_22_4_3_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:k2009RemoteButtonPlay] forKey:@"35_23_22_10_4_3_35_23_22_10_4_3_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:k2009RemoteButtonFullscreen] forKey:@"35_23_22_4_3_35_23_22_4_3_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteControl_Switched] forKey:@"44_35_23_22_4_3_35_23_22_4_3_"]; + } else { + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonVolume_Plus] forKey:@"33_31_30_21_20_2_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonVolume_Minus] forKey:@"33_32_30_21_20_2_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonMenu] forKey:@"33_22_21_20_2_33_22_21_20_2_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonPlay] forKey:@"33_23_21_20_2_33_23_21_20_2_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonRight] forKey:@"33_24_21_20_2_33_24_21_20_2_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonLeft] forKey:@"33_25_21_20_2_33_25_21_20_2_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonRight_Hold] forKey:@"33_21_20_14_12_2_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonLeft_Hold] forKey:@"33_21_20_13_12_2_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonMenu_Hold] forKey:@"33_21_20_2_33_21_20_2_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonPlay_Sleep] forKey:@"37_33_21_20_2_37_33_21_20_2_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:k2009RemoteButtonPlay] forKey:@"33_21_20_8_2_33_21_20_8_2_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:k2009RemoteButtonFullscreen] forKey:@"33_21_20_3_2_33_21_20_3_2_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteControl_Switched] forKey:@"42_33_23_21_20_2_33_23_21_20_2_"]; + + if (OSX_HIGH_SIERRA_AND_HIGHER) { + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonVolume_Plus] forKey:@"33_21_20_15_12_2_"]; + [mutableCookieToButtonMapping setObject:[NSNumber numberWithInt:kRemoteButtonVolume_Minus] forKey:@"33_21_20_16_12_2_"]; + } } _cookieToButtonMapping = [[NSDictionary alloc] initWithDictionary: mutableCookieToButtonMapping]; diff --git a/modules/gui/macosx/CompatibilityFixes.h b/modules/gui/macosx/CompatibilityFixes.h index c098ad7b95..752205f84a 100644 --- a/modules/gui/macosx/CompatibilityFixes.h +++ b/modules/gui/macosx/CompatibilityFixes.h @@ -1,7 +1,7 @@ /***************************************************************************** * CompatibilityFixes.h: MacOS X interface module ***************************************************************************** - * Copyright (C) 2011-2017 VLC authors and VideoLAN + * Copyright (C) 2011-2019 VLC authors and VideoLAN * $Id$ * * Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org> @@ -36,6 +36,7 @@ NS_ASSUME_NONNULL_BEGIN #define OSX_SIERRA_AND_HIGHER (NSAppKitVersionNumber >= 1485) #define OSX_HIGH_SIERRA_AND_HIGHER (NSAppKitVersionNumber >= 1560) #define OSX_MOJAVE_AND_HIGHER (NSAppKitVersionNumber >= 1639.10) +#define OSX_CATALINA_AND_HIGHER (NSAppKitVersionNumber >= 1894.00) // Sierra only APIs #ifndef MAC_OS_X_VERSION_10_12 _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits