mirror of https://github.com/snes9xgit/snes9x.git
Mac: Use stick deadzones when configuring joypads
This commit is contained in:
parent
25863eed5c
commit
6582af1094
|
@ -505,7 +505,7 @@ static NSWindowFrameAutosaveName const kMainWindowIdentifier = @"s9xMainWindow";
|
|||
|
||||
- (BOOL)handleInput:(S9xJoypadInput *)input fromJoypad:(S9xJoypad *)joypad
|
||||
{
|
||||
if (NSApp.keyWindow == self.prefsWindowController.window)
|
||||
if (NSApp.keyWindow != nil && NSApp.keyWindow == self.prefsWindowController.window)
|
||||
{
|
||||
return [((S9xPrefsViewController *) self.prefsWindowController.contentViewController) handleInput:input fromJoypad:joypad];
|
||||
}
|
||||
|
|
|
@ -275,7 +275,7 @@
|
|||
{
|
||||
id firstResponder = self.view.window.firstResponder;
|
||||
|
||||
if ([firstResponder isFieldEditor])
|
||||
if ([firstResponder respondsToSelector:@selector(isFieldEditor)] && [firstResponder isFieldEditor])
|
||||
{
|
||||
firstResponder = [firstResponder delegate];
|
||||
}
|
||||
|
|
|
@ -174,9 +174,22 @@ void gamepadAction(void *inContext, IOReturn inResult, void *inSender, IOHIDValu
|
|||
objcInput.value =inputStruct.value;
|
||||
|
||||
os_unfair_lock_unlock(&keyLock);
|
||||
if ([inputDelegate handleInput:objcInput fromJoypad:objcJoypad])
|
||||
if (info.min != info.max)
|
||||
{
|
||||
return;
|
||||
if (inputStruct.value <= info.min || inputStruct.value >= info.max)
|
||||
{
|
||||
if ([inputDelegate handleInput:objcInput fromJoypad:objcJoypad])
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ([inputDelegate handleInput:objcInput fromJoypad:objcJoypad])
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
os_unfair_lock_lock(&keyLock);
|
||||
|
||||
|
|
Loading…
Reference in New Issue