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