1//======================================================================== 2// GLFW 3.5 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 27#include <IOKit/IOKitLib.h> 28#include <IOKit/IOCFPlugIn.h> 29#include <IOKit/hid/IOHIDKeys.h> 30 31#define GLFW_COCOA_JOYSTICK_STATE _GLFWjoystickNS ns; 32#define GLFW_COCOA_LIBRARY_JOYSTICK_STATE 33 34// Cocoa-specific per-joystick data 35// 36typedef struct _GLFWjoystickNS 37{ 38 IOHIDDeviceRef device; 39 CFMutableArrayRef axes; 40 CFMutableArrayRef buttons; 41 CFMutableArrayRef hats; 42} _GLFWjoystickNS; 43 44GLFWbool _glfwInitJoysticksCocoa(void); 45void _glfwTerminateJoysticksCocoa(void); 46GLFWbool _glfwPollJoystickCocoa(_GLFWjoystick* js, int mode); 47const char* _glfwGetMappingNameCocoa(void); 48void _glfwUpdateGamepadGUIDCocoa(char* guid); 49 50