Browse Source

fix DPAD button auto repeat. Thanks to PalMusicFan

Pal Lockheart 6 years ago
parent
commit
67a550a9d2
2 changed files with 13 additions and 0 deletions
  1. 3 0
      macos/pal_config.h
  2. 10 0
      wii/pal_utils.cpp

+ 3 - 0
macos/pal_config.h

@@ -57,6 +57,9 @@
 #define PAL_HAS_NATIVEMIDI  1
 #endif
 
+#define PAL_HAS_MOUSE 0
+#define PAL_HAS_JOYSTICK 1
+
 #define PAL_HAS_CONFIG_PAGE 0
 
 #define PAL_FILESYSTEM_IGNORE_CASE 1

+ 10 - 0
wii/pal_utils.cpp

@@ -22,28 +22,38 @@ static int input_event_filter(const SDL_Event *lpEvent, volatile PALINPUTSTATE *
 		switch (lpEvent->jhat.value)
 		{
 		case SDL_HAT_LEFT:
+		case SDL_HAT_LEFTUP:
 			state->prevdir = (gpGlobals->fInBattle ? kDirUnknown : state->dir);
 			state->dir = kDirWest;
 			state->dwKeyPress = kKeyLeft;
 			break;
 
 		case SDL_HAT_RIGHT:
+		case SDL_HAT_RIGHTDOWN:
 			state->prevdir = (gpGlobals->fInBattle ? kDirUnknown : state->dir);
 			state->dir = kDirEast;
 			state->dwKeyPress = kKeyRight;
 			break;
 
 		case SDL_HAT_UP:
+		case SDL_HAT_RIGHTUP:
 			state->prevdir = (gpGlobals->fInBattle ? kDirUnknown : state->dir);
 			state->dir = kDirNorth;
 			state->dwKeyPress = kKeyUp;
 			break;
 
 		case SDL_HAT_DOWN:
+		case SDL_HAT_LEFTDOWN:
 			state->prevdir = (gpGlobals->fInBattle ? kDirUnknown : state->dir);
 			state->dir = kDirSouth;
 			state->dwKeyPress = kKeyDown;
 			break;
+			
+		case SDL_HAT_CENTERED:
+			state->prevdir = (gpGlobals->fInBattle ? kDirUnknown : state->dir);
+			state->dir = kDirUnknown;
+			state->dwKeyPress = kKeyNone;
+			break;
 		}
 		return 1;