mirror of
https://github.com/mauiaaron/apple2.git
synced 2024-12-22 20:30:22 +00:00
Joystick controller fixes
- only poll for joystick connectivity once per second - if keypad joystick enabled, pump the handler
This commit is contained in:
parent
575bb2448b
commit
5c6c66f243
@ -92,21 +92,32 @@ void gldriver_joystick_reset(void) {
|
||||
|
||||
- (void)connectivityPoll:(NSNotification *)notification
|
||||
{
|
||||
NSArray *joysticks = [DDHidJoystick allJoysticks];
|
||||
BOOL changed = ([joysticks count] != [self.allJoysticks count]);
|
||||
for (DDHidJoystick *joystick in joysticks)
|
||||
static unsigned int counter = 0;
|
||||
counter = (counter+1) % 60;
|
||||
if (counter == 0)
|
||||
{
|
||||
NSString *key =[NSString stringWithFormat:@"%@-%@-%@", [joystick manufacturer], [joystick serialNumber], [joystick transport]];
|
||||
if (![self.allJoysticks objectForKey:key])
|
||||
NSArray *joysticks = [DDHidJoystick allJoysticks];
|
||||
BOOL changed = ([joysticks count] != [self.allJoysticks count]);
|
||||
for (DDHidJoystick *joystick in joysticks)
|
||||
{
|
||||
changed = YES;
|
||||
break;
|
||||
NSString *key =[NSString stringWithFormat:@"%@-%@-%@", [joystick manufacturer], [joystick serialNumber], [joystick transport]];
|
||||
if (![self.allJoysticks objectForKey:key])
|
||||
{
|
||||
changed = YES;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (changed)
|
||||
{
|
||||
[self resetJoysticks];
|
||||
}
|
||||
}
|
||||
if (changed)
|
||||
#ifdef KEYPAD_JOYSTICK
|
||||
if (joy_mode == JOY_KPAD)
|
||||
{
|
||||
[self resetJoysticks];
|
||||
c_keys_handle_input(-1, 0, 0);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#pragma mark -
|
||||
|
Loading…
Reference in New Issue
Block a user