From 5596351d8b42572b8c880bd1b89be77c9b4ff914 Mon Sep 17 00:00:00 2001 From: rogerman Date: Sun, 21 Apr 2013 01:42:26 +0000 Subject: [PATCH] Cocoa Port: - Fix bug where the default input profile was not being applied when user defaults contained no input mappings. - Rename keyboard key name "-" to "- (Dash)". --- desmume/src/cocoa/DefaultKeyMappings.plist | 4 ++-- desmume/src/cocoa/DefaultUserPrefs.plist | Bin 5399 -> 5406 bytes desmume/src/cocoa/KeyNames.plist | 2 +- .../src/cocoa/userinterface/InputManager.mm | 2 -- .../src/cocoa/userinterface/appDelegate.mm | 12 ++++++++++++ 5 files changed, 15 insertions(+), 5 deletions(-) diff --git a/desmume/src/cocoa/DefaultKeyMappings.plist b/desmume/src/cocoa/DefaultKeyMappings.plist index a9f3dbe11..34a6b6a13 100644 --- a/desmume/src/cocoa/DefaultKeyMappings.plist +++ b/desmume/src/cocoa/DefaultKeyMappings.plist @@ -371,7 +371,7 @@ deviceInfoSummary - Keyboard: - + Keyboard: - (Dash) deviceCode NSEventKeyboard deviceName @@ -379,7 +379,7 @@ elementCode 27 elementName - - + - (Dash) inputSettingsSummary 0.50x Speed floatValue0 diff --git a/desmume/src/cocoa/DefaultUserPrefs.plist b/desmume/src/cocoa/DefaultUserPrefs.plist index f6cdacf6ac75a592957a594a044499a03ae3f13a..dab675cb193b040a50d9b4547d61b0a085fd081a 100644 GIT binary patch delta 284 zcmXBFO(=tL90%}iW^C;D{eAznC(6Offn_HLmXn&B!%Au5f&&gXP-_Hlxr&mPl!LZ;+oR@l`Rs+Vp zLJ=iA;u$Y^Lrr}e(4h9}kdEq@j_aZ(bW2l7&FFz1>Y3*CLJNASCB4&Etp4lAXJ69>7FQtBn;z|q9bYA3{vgVe07 z95~NguA<~4r=@WvaQ@6p7PYwbTf#vzn8ql+rp- qPUpJNwQlsRR~7Z9cYWwnUn;4rK;QaNMOD?@IydBoH>*u;q1JzB3Q50 ` (Accent) 27 - - + - (Dash) 24 = 51 diff --git a/desmume/src/cocoa/userinterface/InputManager.mm b/desmume/src/cocoa/userinterface/InputManager.mm index b2d3515bb..e771e829b 100644 --- a/desmume/src/cocoa/userinterface/InputManager.mm +++ b/desmume/src/cocoa/userinterface/InputManager.mm @@ -973,8 +973,6 @@ static std::tr1::unordered_map keyboardNameTable; / [self addMappingForIBAction:@selector(reset:) commandAttributes:&cmdReset]; [self addMappingForIBAction:@selector(toggleGPUState:) commandAttributes:&cmdToggleGPUState]; - [self setMappingsWithMappings:[[NSUserDefaults standardUserDefaults] dictionaryForKey:@"Input_ControllerMappings"]]; - return self; } diff --git a/desmume/src/cocoa/userinterface/appDelegate.mm b/desmume/src/cocoa/userinterface/appDelegate.mm index 46d06ca55..ae065aa9c 100644 --- a/desmume/src/cocoa/userinterface/appDelegate.mm +++ b/desmume/src/cocoa/userinterface/appDelegate.mm @@ -545,6 +545,18 @@ // Set the default sound volume per user preferences. [prefWindowDelegate updateVolumeIcon:nil]; + // Set up the user's default input settings. + NSDictionary *userMappings = [[NSUserDefaults standardUserDefaults] dictionaryForKey:@"Input_ControllerMappings"]; + if (userMappings == nil) + { + NSDictionary *defaultKeyMappingsDict = [NSDictionary dictionaryWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"DefaultKeyMappings" ofType:@"plist"]]; + NSArray *internalDefaultProfilesList = (NSArray *)[defaultKeyMappingsDict valueForKey:@"DefaultInputProfiles"]; + userMappings = [(NSDictionary *)[internalDefaultProfilesList objectAtIndex:0] valueForKey:@"Mappings"]; + } + + [inputManager setMappingsWithMappings:userMappings]; + + // Set up the rest of the emulation-related user defaults. [emuControl setupUserDefaults]; }