1 // ============================================================================
2 // Artsoft Retro-Game Library
3 // ----------------------------------------------------------------------------
4 // (c) 1995-2014 by Artsoft Entertainment
7 // http://www.artsoft.org/
8 // ----------------------------------------------------------------------------
10 // ============================================================================
17 #define JOYSTICK_NOT_AVAILABLE 0
18 #define JOYSTICK_AVAILABLE (1 << 0)
19 #define JOYSTICK_ACTIVE (1 << 1)
20 #define JOYSTICK_CONFIGURED (1 << 2)
21 #define JOYSTICK_NOT_CONFIGURED (1 << 3)
22 #define JOYSTICK_ACTIVATED (JOYSTICK_AVAILABLE | JOYSTICK_ACTIVE)
24 #if defined(PLATFORM_FREEBSD)
25 #define DEV_JOYSTICK_0 "/dev/joy0"
26 #define DEV_JOYSTICK_1 "/dev/joy1"
27 #define DEV_JOYSTICK_2 "/dev/joy2"
28 #define DEV_JOYSTICK_3 "/dev/joy3"
30 #define DEV_JOYSTICK_0 "/dev/js0"
31 #define DEV_JOYSTICK_1 "/dev/js1"
32 #define DEV_JOYSTICK_2 "/dev/js2"
33 #define DEV_JOYSTICK_3 "/dev/js3"
36 /* get these values from the program 'js' from the joystick package, */
37 /* set JOYSTICK_PERCENT to a threshold appropriate for your joystick */
39 #define JOYSTICK_MAX_AXIS_POS 32767
41 #define JOYSTICK_XLEFT -JOYSTICK_MAX_AXIS_POS
42 #define JOYSTICK_XMIDDLE 0
43 #define JOYSTICK_XRIGHT +JOYSTICK_MAX_AXIS_POS
44 #define JOYSTICK_YUPPER -JOYSTICK_MAX_AXIS_POS
45 #define JOYSTICK_YMIDDLE 0
46 #define JOYSTICK_YLOWER +JOYSTICK_MAX_AXIS_POS
48 #define JOYSTICK_PERCENT 25
50 #define JOY_NO_ACTION 0
51 #define JOY_LEFT MV_LEFT
52 #define JOY_RIGHT MV_RIGHT
54 #define JOY_DOWN MV_DOWN
55 #define JOY_BUTTON_1 KEY_BUTTON_1
56 #define JOY_BUTTON_2 KEY_BUTTON_2
57 #define JOY_BUTTON_SNAP KEY_BUTTON_SNAP
58 #define JOY_BUTTON_DROP KEY_BUTTON_DROP
59 #define JOY_MOTION KEY_MOTION
60 #define JOY_BUTTON KEY_BUTTON
61 #define JOY_ACTION KEY_ACTION
63 #define JOY_BUTTON_NOT_PRESSED 0
64 #define JOY_BUTTON_PRESSED 1
65 #define JOY_BUTTON_NEW_PRESSED 2
66 #define JOY_BUTTON_NEW_RELEASED 3
68 char *getJoyNameFromJoySymbol(int);
69 int getJoySymbolFromJoyName(char *);
70 int getJoystickNrFromDeviceName(char *);
71 char *getDeviceNameFromJoystickNr(int);
73 void CheckJoystickData(void);
75 int JoystickExt(int, boolean);
76 int JoystickButton(int);
77 int AnyJoystick(void);
78 int AnyJoystickButton(void);
80 void DeactivateJoystick();
81 void ActivateJoystick();
83 #endif /* JOYSTICK_H */