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