--- hatari/src/includes/joy.h 2019/04/01 07:10:00 1.1.1.2 +++ hatari/src/includes/joy.h 2019/04/09 08:55:40 1.1.1.10 @@ -1,30 +1,46 @@ /* - Hatari + Hatari - joy.h + + This file is distributed under the GNU General Public License, version 2 + or at your option any later version. Read the file gpl.txt for details. */ -typedef struct { - int XPos,YPos; /* -32768...0...32767 */ - int Buttons; /* JOY_BUTTON1 */ -} JOYREADING; - -enum { - JOYSTICK_SPACE_NULL, /* Not up/down */ - JOYSTICK_SPACE_DOWN, - JOYSTICK_SPACE_UP -}; +#ifndef HATARI_JOY_H +#define HATARI_JOY_H -#define USE_FIREBUTTON_2_AS_SPACE /* Enable PC Joystick button 2 to mimick space bar (For XenonII, Flying Shark etc...) */ +enum +{ + JOYSTICK_SPACE_NULL, /* Not up/down */ + JOYSTICK_SPACE_DOWN, + JOYSTICK_SPACE_UP +}; #define JOYRANGE_UP_VALUE -16384 /* Joystick ranges in XY */ #define JOYRANGE_DOWN_VALUE 16383 #define JOYRANGE_LEFT_VALUE -16384 #define JOYRANGE_RIGHT_VALUE 16383 -extern BOOL bJoystickWorking[2]; +#define ATARIJOY_BITMASK_UP 0x01 +#define ATARIJOY_BITMASK_DOWN 0x02 +#define ATARIJOY_BITMASK_LEFT 0x04 +#define ATARIJOY_BITMASK_RIGHT 0x08 +#define ATARIJOY_BITMASK_FIRE 0x80 + extern int JoystickSpaceBar; -extern int cursorJoyEmu; extern void Joy_Init(void); -extern void Joy_PreventBothUsingCursorEmulation(void); -extern unsigned char Joy_GetStickData(unsigned int JoystickID); +extern void Joy_UnInit(void); +extern const char *Joy_GetName(int id); +extern int Joy_GetMaxId(void); +extern bool Joy_ValidateJoyId(int i); +extern Uint8 Joy_GetStickData(int nStJoyId); +extern bool Joy_SetCursorEmulation(int port); extern void Joy_ToggleCursorEmulation(void); +extern bool Joy_SwitchMode(int port); +extern bool Joy_KeyDown(int symkey, int modkey); +extern bool Joy_KeyUp(int symkey, int modkey); +extern void Joy_StePadButtons_ReadWord(void); +extern void Joy_StePadMulti_ReadWord(void); +extern void Joy_StePadMulti_WriteWord(void); + +#endif /* ifndef HATARI_JOY_H */