summaryrefslogtreecommitdiff
path: root/macosx/plugins/HIDInput/src/KeyConfig.h
blob: 426783f5fc01c9a343d2898619aafb47b0ff11cf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
/***************************************************************************
    KeyConfig.h
    HIDInput
  
    Created by Gil Pedersen on Sat May 29 2004.
    Copyright (c) 2004 Gil Pedersen.
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version. See also the license.txt file for *
 *   additional informations.                                              *
 *                                                                         *
 ***************************************************************************/

#define KeyConfig NetPcsxHIDInputPluginKeyConfig

#import <Carbon/Carbon.h>
#include <IOKit/hid/IOHIDUsageTables.h>
#include "HID_Utilities_External.h"
#import "ControllerList.h"

@class ControllerList;

@interface KeyConfig : NSObject {
	ControllerList *list;
	NSDictionary *keyValues;
}

- (id)init;
- (void)dealloc;

+ (KeyConfig *)current;

+ (NSString *)mappingIdForElement:(pRecElement)element onDevice:(pRecDevice)device reverse:(BOOL)reverse;
+ (BOOL)reverseMappingForId:(NSString *)mappingId outElement:(pRecElement *)element outDevice:(pRecDevice *)device;
+ (NSString *)nameFromMapping:(NSString *)mappingId;
+ (NSString *)deviceNameFromMapping:(NSString *)mappingId;

- (ControllerList *)controllerList;
- (void)setCurrentSet:(NSString *)name;
- (NSString *)currentSet;
- (NSDictionary *)players;
- (NSDictionary *)typesForPlayer:(int)player;
- (void)setCurrentType:(NSString *)type player:(int)player;
- (NSString *)currentTypeForPlayer:(int)player;
- (NSDictionary *)currentKeysForPlayer:(int)player;

- (void)addMapping:(NSString *)mappingId forElement:(NSString *)name player:(int)player;
- (void)removeMappingsForElement:(NSString *)name player:(int)player;
- (NSArray *)currentMappingsForElement:(NSString *)name player:(int)player;
- (NSString *)mappingNamesForElement:(NSString *)name player:(int)player;

- (void)updateKeys;
- (void)releaseKeys;

@end