summaryrefslogtreecommitdiff
path: root/macosx/plugins/DFInput/macsrc/ControllerList.m
diff options
context:
space:
mode:
Diffstat (limited to 'macosx/plugins/DFInput/macsrc/ControllerList.m')
-rwxr-xr-xmacosx/plugins/DFInput/macsrc/ControllerList.m111
1 files changed, 82 insertions, 29 deletions
diff --git a/macosx/plugins/DFInput/macsrc/ControllerList.m b/macosx/plugins/DFInput/macsrc/ControllerList.m
index 583c0ad3..172bc534 100755
--- a/macosx/plugins/DFInput/macsrc/ControllerList.m
+++ b/macosx/plugins/DFInput/macsrc/ControllerList.m
@@ -25,43 +25,83 @@
static int currentController;
static NSArray *labelText;
+static NSArray *GameControllerText;
@implementation ControllerList
+- (BOOL)isUsingSDL2
+{
+ return g.cfg.PadDef[currentController].UseSDL2;
+}
+
+- (void)setUsingSDL2:(BOOL)_usingSDL2
+{
+ g.cfg.PadDef[currentController].UseSDL2 = _usingSDL2;
+}
+
- (id)initWithConfig
{
if (self = [super init]) {
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
- NSBundle *plugBundle = [NSBundle bundleForClass:[ControllerList class]];
- labelText = @[[plugBundle localizedStringForKey:@"D-Pad Up" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"D-Pad Down" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"D-Pad Left" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"D-Pad Right" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"Cross" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"Circle" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"Square" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"Triangle" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"L1" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"R1" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"L2" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"R2" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"Select" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"Start" value:@"" table:nil],
-
- [plugBundle localizedStringForKey:@"L3" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"R3" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"Analog" value:@"" table:nil],
-
- [plugBundle localizedStringForKey:@"L-Stick Right" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"L-Stick Left" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"L-Stick Down" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"L-Stick Up" value:@"" table:nil],
-
- [plugBundle localizedStringForKey:@"R-Stick Right" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"R-Stick Left" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"R-Stick Down" value:@"" table:nil],
- [plugBundle localizedStringForKey:@"R-Stick Up" value:@"" table:nil]];
+ NSBundle *plugBundle = [NSBundle bundleForClass:[self class]];
+ labelText = @[NSLocalizedStringFromTableInBundle(@"D-Pad Up", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"D-Pad Down", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"D-Pad Left", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"D-Pad Right", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Cross", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Circle", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Square", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Triangle", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"L1", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"R1", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"L2", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"R2", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Select", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Start", nil, plugBundle, @""),
+
+ NSLocalizedStringFromTableInBundle(@"L3", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"R3", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Analog", nil, plugBundle, @""),
+
+ NSLocalizedStringFromTableInBundle(@"L-Stick Right", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"L-Stick Left", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"L-Stick Down", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"L-Stick Up", nil, plugBundle, @""),
+
+ NSLocalizedStringFromTableInBundle(@"R-Stick Right", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"R-Stick Left", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"R-Stick Down", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"R-Stick Up", nil, plugBundle, @"")];
+
+ GameControllerText = @[NSLocalizedStringFromTableInBundle(@"D-Pad Up", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"D-Pad Down", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"D-Pad Left", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"D-Pad Right", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Cross", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Circle", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Square", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Triangle", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Left Bumper", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Right Bumper", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Left Trigger", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Right Trigger", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Back", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Start", nil, plugBundle, @""),
+
+ NSLocalizedStringFromTableInBundle(@"L3", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"R3", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"Guide", nil, plugBundle, @""),
+
+ NSLocalizedStringFromTableInBundle(@"L-Stick Right", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"L-Stick Left", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"L-Stick Down", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"L-Stick Up", nil, plugBundle, @""),
+
+ NSLocalizedStringFromTableInBundle(@"R-Stick Right", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"R-Stick Left", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"R-Stick Down", nil, plugBundle, @""),
+ NSLocalizedStringFromTableInBundle(@"R-Stick Up", nil, plugBundle, @"")];
});
}
return self;
@@ -117,6 +157,18 @@ static const int DPad[DKEY_TOTAL] = {
} else {
char buf[256] = {0};
+ if ([self isUsingSDL2]) {
+ NSString *keyBoardString, *gamePadStr = GameControllerText[rowIndex];
+ if (rowIndex < DKEY_TOTAL) {
+ GetKeyboardKeyDescription(buf, currentController, DPad[rowIndex]);
+ } else {
+ NSInteger tmpRowIndex = rowIndex - DKEY_TOTAL;
+ GetKeyboardAnalogDescription(buf, currentController, (int)(tmpRowIndex / 4), tmpRowIndex % 4);
+ }
+ keyBoardString = @(buf);
+
+ return [keyBoardString isEqualToString:@""] ? gamePadStr : [gamePadStr stringByAppendingFormat:@" / %@", keyBoardString];
+ } else {
// actual keys
if (rowIndex < DKEY_TOTAL) {
GetKeyDescription(buf, currentController, DPad[rowIndex]);
@@ -126,6 +178,7 @@ static const int DPad[DKEY_TOTAL] = {
}
return @(buf);
+ }
}
}