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 f6cdacf6a..dab675cb1 100644 Binary files a/desmume/src/cocoa/DefaultUserPrefs.plist and b/desmume/src/cocoa/DefaultUserPrefs.plist differ diff --git a/desmume/src/cocoa/KeyNames.plist b/desmume/src/cocoa/KeyNames.plist index 771b91749..2eff728ed 100644 --- a/desmume/src/cocoa/KeyNames.plist +++ b/desmume/src/cocoa/KeyNames.plist @@ -115,7 +115,7 @@ 50 ` (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]; }