medfall

A super great game engine
Log | Files | Refs

linux_joystick.h (2178B)


      1 //========================================================================
      2 // GLFW 3.3 Linux - www.glfw.org
      3 //------------------------------------------------------------------------
      4 // Copyright (c) 2014 Jonas Ã…dahl <jadahl@gmail.com>
      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 <linux/input.h>
     28 #include <linux/limits.h>
     29 #include <regex.h>
     30 
     31 #define _GLFW_PLATFORM_JOYSTICK_STATE         _GLFWjoystickLinux linjs
     32 #define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE _GLFWlibraryLinux  linjs
     33 
     34 #define _GLFW_PLATFORM_MAPPING_NAME "Linux"
     35 
     36 // Linux-specific joystick data
     37 //
     38 typedef struct _GLFWjoystickLinux
     39 {
     40     int                     fd;
     41     char                    path[PATH_MAX];
     42     int                     keyMap[KEY_CNT - BTN_MISC];
     43     int                     absMap[ABS_CNT];
     44     struct input_absinfo    absInfo[ABS_CNT];
     45     int                     hats[4][2];
     46 } _GLFWjoystickLinux;
     47 
     48 // Linux-specific joystick API data
     49 //
     50 typedef struct _GLFWlibraryLinux
     51 {
     52     int                     inotify;
     53     int                     watch;
     54     regex_t                 regex;
     55     GLFWbool                dropped;
     56 } _GLFWlibraryLinux;
     57 
     58 
     59 GLFWbool _glfwInitJoysticksLinux(void);
     60 void _glfwTerminateJoysticksLinux(void);
     61 void _glfwDetectJoystickConnectionLinux(void);
     62