volviewer

Volumetric Data Toy Viewer
git clone anongit@rnpnr.xyz:volviewer.git
Log | Files | Refs | Feed | LICENSE

linux_joystick.h (2322B)


      1 //========================================================================
      2 // GLFW 3.4 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_LINUX_JOYSTICK_STATE         _GLFWjoystickLinux linjs;
     32 #define GLFW_LINUX_LIBRARY_JOYSTICK_STATE _GLFWlibraryLinux  linjs;
     33 
     34 // Linux-specific joystick data
     35 //
     36 typedef struct _GLFWjoystickLinux
     37 {
     38     int                     fd;
     39     char                    path[PATH_MAX];
     40     int                     keyMap[KEY_CNT - BTN_MISC];
     41     int                     absMap[ABS_CNT];
     42     struct input_absinfo    absInfo[ABS_CNT];
     43     int                     hats[4][2];
     44 } _GLFWjoystickLinux;
     45 
     46 // Linux-specific joystick API data
     47 //
     48 typedef struct _GLFWlibraryLinux
     49 {
     50     int                     inotify;
     51     int                     watch;
     52     regex_t                 regex;
     53     GLFWbool                regexCompiled;
     54     GLFWbool                dropped;
     55 } _GLFWlibraryLinux;
     56 
     57 void _glfwDetectJoystickConnectionLinux(void);
     58 
     59 GLFWbool _glfwInitJoysticksLinux(void);
     60 void _glfwTerminateJoysticksLinux(void);
     61 GLFWbool _glfwPollJoystickLinux(_GLFWjoystick* js, int mode);
     62 const char* _glfwGetMappingNameLinux(void);
     63 void _glfwUpdateGamepadGUIDLinux(char* guid);
     64