1 /*****************************************************************************
2  * GlobalKeyboardDevice.h
3  * RemoteControlWrapper
4  *
5  * Created by Martin Kahr on 11.03.06 under a MIT-style license.
6  * Copyright (c) 2006 martinkahr.com. All rights reserved.
7  *
8  * Code modified and adapted to OpenOffice.org
9  * by Eric Bachard on 11.08.2008 under the same license
10  *
11  * Permission is hereby granted, free of charge, to any person obtaining a
12  * copy of this software and associated documentation files (the "Software"),
13  * to deal in the Software without restriction, including without limitation
14  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
15  * and/or sell copies of the Software, and to permit persons to whom the
16  * Software is furnished to do so, subject to the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be included
19  * in all copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
24  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
27  * THE SOFTWARE.
28  *
29  *****************************************************************************/
30 
31 #import <Cocoa/Cocoa.h>
32 #import <Carbon/Carbon.h>
33 
34 #import "RemoteControl.h"
35 
36 
37 /*
38  This class registers for a number of global keyboard shortcuts to simulate a remote control
39  */
40 
41 @interface GlobalKeyboardDevice : RemoteControl {
42 
43 	NSMutableDictionary* hotKeyRemoteEventMapping;
44 	EventHandlerRef eventHandlerRef;
45 
46 }
47 
mapRemoteButton:defaultKeycode:defaultModifiers:(RemoteControlEventIdentifier,unsigned int,unsigned int)48 - (void) mapRemoteButton: (RemoteControlEventIdentifier) remoteButtonIdentifier defaultKeycode: (unsigned int) defaultKeycode defaultModifiers: (unsigned int) defaultModifiers;
49 
registerHotKeyCode:modifiers:remoteEventIdentifier:(unsigned int,unsigned int,RemoteControlEventIdentifier)50 - (BOOL)registerHotKeyCode: (unsigned int) keycode modifiers: (unsigned int) modifiers remoteEventIdentifier: (RemoteControlEventIdentifier) identifier;
51 
52 
53 
54 @end
55