diff options
author | hnOsmium0001 <[email protected]> | 2022-04-03 18:36:23 -0700 |
---|---|---|
committer | hnOsmium0001 <[email protected]> | 2022-04-03 18:36:23 -0700 |
commit | ebd42760caaec8330a3c028f31adc7bc0b339d16 (patch) | |
tree | a1a01147b78f10f467b757ecee7056d09d594230 /3rdparty/glfw/source/src/linux_joystick.h |
Initial commit
Diffstat (limited to '3rdparty/glfw/source/src/linux_joystick.h')
-rw-r--r-- | 3rdparty/glfw/source/src/linux_joystick.h | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/3rdparty/glfw/source/src/linux_joystick.h b/3rdparty/glfw/source/src/linux_joystick.h new file mode 100644 index 0000000..37e5d1a --- /dev/null +++ b/3rdparty/glfw/source/src/linux_joystick.h @@ -0,0 +1,65 @@ +//======================================================================== +// GLFW 3.4 Linux - www.glfw.org +//------------------------------------------------------------------------ +// Copyright (c) 2014 Jonas Ã…dahl <[email protected]> +// +// This software is provided 'as-is', without any express or implied +// warranty. In no event will the authors be held liable for any damages +// arising from the use of this software. +// +// Permission is granted to anyone to use this software for any purpose, +// including commercial applications, and to alter it and redistribute it +// freely, subject to the following restrictions: +// +// 1. The origin of this software must not be misrepresented; you must not +// claim that you wrote the original software. If you use this software +// in a product, an acknowledgment in the product documentation would +// be appreciated but is not required. +// +// 2. Altered source versions must be plainly marked as such, and must not +// be misrepresented as being the original software. +// +// 3. This notice may not be removed or altered from any source +// distribution. +// +//======================================================================== + +#include <linux/input.h> +#include <linux/limits.h> +#include <regex.h> + +#define GLFW_LINUX_JOYSTICK_STATE _GLFWjoystickLinux linjs; +#define GLFW_LINUX_LIBRARY_JOYSTICK_STATE _GLFWlibraryLinux linjs; + +#define GLFW_BUILD_LINUX_MAPPINGS + +// Linux-specific joystick data +// +typedef struct _GLFWjoystickLinux +{ + int fd; + char path[PATH_MAX]; + int keyMap[KEY_CNT - BTN_MISC]; + int absMap[ABS_CNT]; + struct input_absinfo absInfo[ABS_CNT]; + int hats[4][2]; +} _GLFWjoystickLinux; + +// Linux-specific joystick API data +// +typedef struct _GLFWlibraryLinux +{ + int inotify; + int watch; + regex_t regex; + GLFWbool dropped; +} _GLFWlibraryLinux; + +void _glfwDetectJoystickConnectionLinux(void); + +GLFWbool _glfwInitJoysticksLinux(void); +void _glfwTerminateJoysticksLinux(void); +int _glfwPollJoystickLinux(_GLFWjoystick* js, int mode); +const char* _glfwGetMappingNameLinux(void); +void _glfwUpdateGamepadGUIDLinux(char* guid); + |