diff options
Diffstat (limited to 'apple_remote/source/RemoteMainController.m')
-rw-r--r-- | apple_remote/source/RemoteMainController.m | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/apple_remote/source/RemoteMainController.m b/apple_remote/source/RemoteMainController.m deleted file mode 100644 index b7ed2110eb81..000000000000 --- a/apple_remote/source/RemoteMainController.m +++ /dev/null @@ -1,169 +0,0 @@ -/***************************************************************************** - * RemoteMainController.m - * - * Created by Martin Kahr on 11.03.06 under a MIT-style license. - * Copyright (c) 2006 martinkahr.com. All rights reserved. - * - * Code modified and adapted to OpenOffice.org - * by Eric Bachard on 11.08.2008 under the same License - * - * Permission is hereby granted, free of charge, to any person obtaining a - * copy of this software and associated documentation files (the "Software"), - * to deal in the Software without restriction, including without limitation - * the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons to whom the - * Software is furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included - * in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL - * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - *****************************************************************************/ - -#import <apple_remote/RemoteMainController.h> -#import "AppleRemote.h" -#import "KeyspanFrontRowControl.h" -#import "GlobalKeyboardDevice.h" -#import "RemoteControlContainer.h" -#import "MultiClickRemoteBehavior.h" - -// ------------------------------------------------------------------------------------------- -// Sample Code 3: Multi Click Behavior and Hold Event Simulation -// ------------------------------------------------------------------------------------------- - -@implementation MainController - -- (id) init { - self = [super init]; // because we redefined our own init instead of use the fu..nny awakeFromNib - if (self != nil) { - - // 1. instantiate the desired behavior for the remote control device - remoteControlBehavior = [[MultiClickRemoteBehavior alloc] init]; - - // 2. configure the behavior - [remoteControlBehavior setDelegate: self]; - - // 3. a Remote Control Container manages a number of devices and conforms to the RemoteControl interface - // Therefore you can enable or disable all the devices of the container with a single "startListening:" call. - RemoteControlContainer* container = [[RemoteControlContainer alloc] initWithDelegate: remoteControlBehavior]; - - if ( [container instantiateAndAddRemoteControlDeviceWithClass: [AppleRemote class]] != 0 ) { -#ifdef DEBUG - NSLog(@"[container instantiateAndAddRemoteControlDeviceWithClass: [AppleRemote class]] successfull"); - } - else { - NSLog(@"[container instantiateAndAddRemoteControlDeviceWithClass: [AppleRemote class]] failed"); -#endif - } - - if ( [container instantiateAndAddRemoteControlDeviceWithClass: [GlobalKeyboardDevice class]] != 0 ) { -#ifdef DEBUG - NSLog(@"[container instantiateAndAddRemoteControlDeviceWithClass: [GlobalKeyboardDevice class]] successfull"); - } - else { - NSLog(@"[container instantiateAndAddRemoteControlDeviceWithClass: [GlobalKeyboardDevice class]] failed"); -#endif - } - // to give the binding mechanism a chance to see the change of the attribute - [self setValue: container forKey: @"remoteControl"]; -#ifdef DEBUG - NSLog(@"MainController init done"); -#endif - } - else - NSLog(@"MainController init failed"); - return self; -} - -- (void) postTheEvent: (short int)buttonIdentifier modifierFlags:(int)modifierFlags -{ - [NSApp postEvent: - [NSEvent otherEventWithType:NSApplicationDefined - location:NSZeroPoint - modifierFlags:modifierFlags - timestamp: 0 - windowNumber:[[NSApp keyWindow] windowNumber] - context:nil - subtype:AppleRemoteControlEvent - data1: buttonIdentifier - data2: 0] - atStart: NO]; -} - - -- (void) remoteButton: (RemoteControlEventIdentifier)buttonIdentifier pressedDown: (BOOL) pressedDown clickCount: (unsigned int)clickCount -{ - (void)clickCount; - NSString* pressed = @""; -#ifdef DEBUG - NSString* buttonName = nil; -#endif - if (pressedDown) - { - pressed = @"(pressed)"; - -#ifdef DEBUG - switch(buttonIdentifier) - { - case kRemoteButtonPlus: buttonName = @"Volume up"; break; // MEDIA_COMMAND_VOLUME_UP ( see vcl/inc/vcl/cmdevt.hxx ) - case kRemoteButtonMinus: buttonName = @"Volume down"; break; // MEDIA_COMMAND_VOLUME_DOWN - case kRemoteButtonMenu: buttonName = @"Menu"; break; // MEDIA_COMMAND_MENU - case kRemoteButtonPlay: buttonName = @"Play"; break; // MEDIA_COMMAND_PLAY - case kRemoteButtonRight: buttonName = @"Next slide"; break; // MEDIA_COMMAND_NEXTTRACK - case kRemoteButtonLeft: buttonName = @"Left"; break; // MEDIA_COMMAND_PREVIOUSTRACK - case kRemoteButtonRight_Hold: buttonName = @"Last slide"; break; // MEDIA_COMMAND_NEXTTRACK_HOLD - case kRemoteButtonLeft_Hold: buttonName = @"First slide"; break; // MEDIA_COMMAND_PREVIOUSTRACK_HOLD - case kRemoteButtonPlus_Hold: buttonName = @"Volume up holding"; break; - case kRemoteButtonMinus_Hold: buttonName = @"Volume down holding"; break; - case kRemoteButtonPlay_Hold: buttonName = @"Play (sleep mode)"; break; // MEDIA_COMMAND_PLAY_HOLD - case kRemoteButtonMenu_Hold: buttonName = @"Menu (long)"; break; // MEDIA_COMMAND_MENU_HOLD - case kRemoteControl_Switched: buttonName = @"Remote Control Switched";break; - - default: NSLog(@"Unmapped event for button %d", buttonIdentifier); break; - } -#endif - [ self postTheEvent:buttonIdentifier modifierFlags: 0 ]; - } - else // not pressed - { - pressed = @"(released)"; - } - -#ifdef DEBUG - //NSLog(@"Button %@ pressed %@", buttonName, pressed); - NSString* clickCountString = @""; - if (clickCount > 1) clickCountString = [NSString stringWithFormat: @"%d clicks", clickCount]; - NSString* feedbackString = [NSString stringWithFormat:@"(Value:%4d) %@ %@ %@",buttonIdentifier, buttonName, pressed, clickCountString]; - - // print out events - NSLog(@"%@", feedbackString); - - if (pressedDown == NO) printf("\n"); - // simulate slow processing of events - // [NSThread sleepUntilDate: [NSDate dateWithTimeIntervalSinceNow: 0.5]]; -#endif -} - -- (void) dealloc { - [remoteControl autorelease]; - [remoteControlBehavior autorelease]; - [super dealloc]; -} - -// for bindings access -- (RemoteControl*) remoteControl { - return remoteControl; -} - -- (MultiClickRemoteBehavior*) remoteBehavior { - return remoteControlBehavior; -} - -@end |