cocoa_joystick.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. //========================================================================
  2. // GLFW 3.4 Cocoa - www.glfw.org
  3. //------------------------------------------------------------------------
  4. // Copyright (c) 2006-2017 Camilla Löwy <elmindreda@glfw.org>
  5. //
  6. // This software is provided 'as-is', without any express or implied
  7. // warranty. In no event will the authors be held liable for any damages
  8. // arising from the use of this software.
  9. //
  10. // Permission is granted to anyone to use this software for any purpose,
  11. // including commercial applications, and to alter it and redistribute it
  12. // freely, subject to the following restrictions:
  13. //
  14. // 1. The origin of this software must not be misrepresented; you must not
  15. // claim that you wrote the original software. If you use this software
  16. // in a product, an acknowledgment in the product documentation would
  17. // be appreciated but is not required.
  18. //
  19. // 2. Altered source versions must be plainly marked as such, and must not
  20. // be misrepresented as being the original software.
  21. //
  22. // 3. This notice may not be removed or altered from any source
  23. // distribution.
  24. //
  25. //========================================================================
  26. #include <IOKit/IOKitLib.h>
  27. #include <IOKit/IOCFPlugIn.h>
  28. #include <IOKit/hid/IOHIDLib.h>
  29. #include <IOKit/hid/IOHIDKeys.h>
  30. #define _GLFW_PLATFORM_JOYSTICK_STATE _GLFWjoystickNS ns
  31. #define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE
  32. #define _GLFW_PLATFORM_MAPPING_NAME "Mac OS X"
  33. // Cocoa-specific per-joystick data
  34. //
  35. typedef struct _GLFWjoystickNS
  36. {
  37. IOHIDDeviceRef device;
  38. CFMutableArrayRef axes;
  39. CFMutableArrayRef buttons;
  40. CFMutableArrayRef hats;
  41. } _GLFWjoystickNS;