1 //========================================================================
2 // GLFW 3.4 Cocoa - www.glfw.org
3 //------------------------------------------------------------------------
4 // Copyright (c) 2006-2017 Camilla Löwy <elmindreda@glfw.org>
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.
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:
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.
19 // 2. Altered source versions must be plainly marked as such, and must not
20 // be misrepresented as being the original software.
22 // 3. This notice may not be removed or altered from any source
25 //========================================================================
27 #include <IOKit/IOKitLib.h>
28 #include <IOKit/IOCFPlugIn.h>
29 #include <IOKit/hid/IOHIDLib.h>
30 #include <IOKit/hid/IOHIDKeys.h>
32 #define _GLFW_PLATFORM_JOYSTICK_STATE _GLFWjoystickNS ns
33 #define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE struct { int dummyJoystick; }
35 #define _GLFW_PLATFORM_MAPPING_NAME "Mac OS X"
37 // Cocoa-specific per-joystick data
39 typedef struct _GLFWjoystickNS
41 IOHIDDeviceRef device;
42 CFMutableArrayRef axes;
43 CFMutableArrayRef buttons;
44 CFMutableArrayRef hats;