Select mapping platform name at runtime

This is done in preparation for runtime platform selection.
master
Camilla Löwy ago%!(EXTRA string=4 years)
parent d0776e04a3
commit 6d51b39106
  1. 1
      src/cocoa_joystick.h
  2. 5
      src/cocoa_joystick.m
  3. 5
      src/input.c
  4. 1
      src/internal.h
  5. 5
      src/linux_joystick.c
  6. 1
      src/linux_joystick.h
  7. 5
      src/null_joystick.c
  8. 2
      src/null_joystick.h
  9. 5
      src/win32_joystick.c
  10. 1
      src/win32_joystick.h

@ -32,7 +32,6 @@
#define _GLFW_PLATFORM_JOYSTICK_STATE _GLFWjoystickNS ns
#define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE struct { int dummyJoystick; }
#define _GLFW_PLATFORM_MAPPING_NAME "Mac OS X"
#define GLFW_BUILD_COCOA_MAPPINGS
// Cocoa-specific per-joystick data

@ -469,6 +469,11 @@ int _glfwPlatformPollJoystick(_GLFWjoystick* js, int mode)
return js->present;
}
const char* _glfwPlatformGetMappingName(void)
{
return "Mac OS X";
}
void _glfwPlatformUpdateGamepadGUID(char* guid)
{
if ((strncmp(guid + 4, "000000000000", 12) == 0) &&

@ -234,8 +234,9 @@ static GLFWbool parseMapping(_GLFWmapping* mapping, const char* string)
}
else
{
length = strlen(_GLFW_PLATFORM_MAPPING_NAME);
if (strncmp(c, _GLFW_PLATFORM_MAPPING_NAME, length) != 0)
const char* name = _glfwPlatformGetMappingName();
length = strlen(name);
if (strncmp(c, name, length) != 0)
return GLFW_FALSE;
}

@ -642,6 +642,7 @@ GLFWbool _glfwPlatformInitJoysticks(void);
void _glfwPlatformTerminateJoysticks(void);
int _glfwPlatformPollJoystick(_GLFWjoystick* js, int mode);
void _glfwPlatformUpdateGamepadGUID(char* guid);
const char* _glfwPlatformGetMappingName(void);
uint64_t _glfwPlatformGetTimerValue(void);
uint64_t _glfwPlatformGetTimerFrequency(void);

@ -422,6 +422,11 @@ int _glfwPlatformPollJoystick(_GLFWjoystick* js, int mode)
return js->present;
}
const char* _glfwPlatformGetMappingName(void)
{
return "Linux";
}
void _glfwPlatformUpdateGamepadGUID(char* guid)
{
}

@ -31,7 +31,6 @@
#define _GLFW_PLATFORM_JOYSTICK_STATE _GLFWjoystickLinux linjs
#define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE _GLFWlibraryLinux linjs
#define _GLFW_PLATFORM_MAPPING_NAME "Linux"
#define GLFW_BUILD_LINUX_MAPPINGS
// Linux-specific joystick data

@ -47,6 +47,11 @@ int _glfwPlatformPollJoystick(_GLFWjoystick* js, int mode)
return GLFW_FALSE;
}
const char* _glfwPlatformGetMappingName(void)
{
return "";
}
void _glfwPlatformUpdateGamepadGUID(char* guid)
{
}

@ -27,5 +27,3 @@
#define _GLFW_PLATFORM_JOYSTICK_STATE struct { int dummyJoystick; }
#define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE struct { int dummyLibraryJoystick; }
#define _GLFW_PLATFORM_MAPPING_NAME ""

@ -740,6 +740,11 @@ int _glfwPlatformPollJoystick(_GLFWjoystick* js, int mode)
return GLFW_TRUE;
}
const char* _glfwPlatformGetMappingName(void)
{
return "Windows";
}
void _glfwPlatformUpdateGamepadGUID(char* guid)
{
if (strcmp(guid + 20, "504944564944") == 0)

@ -27,7 +27,6 @@
#define _GLFW_PLATFORM_JOYSTICK_STATE _GLFWjoystickWin32 win32
#define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE struct { int dummyLibraryJoystick; }
#define _GLFW_PLATFORM_MAPPING_NAME "Windows"
#define GLFW_BUILD_WIN32_MAPPINGS
// Joystick element (axis, button or slider)

Loading…
Cancel
Save