X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=plugins%2Fdfinput%2Fpad.h;h=60a46f0443101121c35bc64af6cfb05a87652ad4;hp=8347caf89efaccf8d9471c912f5f8c9fe02e7a9f;hb=78c60846942cad7d41d6d23a7c3d2b905ee4b822;hpb=ef79bbde537d6b9c745a7d86cb9df1d04c35590d diff --git a/plugins/dfinput/pad.h b/plugins/dfinput/pad.h index 8347caf8..60a46f04 100644 --- a/plugins/dfinput/pad.h +++ b/plugins/dfinput/pad.h @@ -1,193 +1,2 @@ -/* - * Copyright (c) 2009, Wei Mingzhi . - * All Rights Reserved. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, see . - */ +void dfinput_activate(int yes); -#ifndef PAD_H_ -#define PAD_H_ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _MACOSX -#include "config.h" -#endif - -#include -#include -#include -#include -#include -#include - -#include -#include - -#ifdef _MACOSX -#include -typedef void *Display; -#define ThreadID ThreadID_MACOSX -#else -#include -#include -#include -#include -#endif - -#include "psemu_plugin_defs.h" - -#ifdef ENABLE_NLS -#include -#include -#define _(x) gettext(x) -#define N_(x) (x) -#else -#define _(x) (x) -#define N_(x) (x) -#endif - -enum { - DKEY_SELECT = 0, - DKEY_L3, - DKEY_R3, - DKEY_START, - DKEY_UP, - DKEY_RIGHT, - DKEY_DOWN, - DKEY_LEFT, - DKEY_L2, - DKEY_R2, - DKEY_L1, - DKEY_R1, - DKEY_TRIANGLE, - DKEY_CIRCLE, - DKEY_CROSS, - DKEY_SQUARE, - - DKEY_TOTAL -}; - -enum { - ANALOG_LEFT = 0, - ANALOG_RIGHT, - - ANALOG_TOTAL -}; - -enum { NONE = 0, AXIS, HAT, BUTTON }; - -typedef struct tagKeyDef { - uint8_t JoyEvType; - union { - int16_t d; - int16_t Axis; // positive=axis+, negative=axis-, abs(Axis)-1=axis index - uint16_t Hat; // 8-bit for hat number, 8-bit for direction - uint16_t Button; // button number - } J; - uint16_t Key; -} KEYDEF; - -enum { ANALOG_XP = 0, ANALOG_XM, ANALOG_YP, ANALOG_YM }; - -typedef struct tagPadDef { - int8_t DevNum; - uint16_t Type; - KEYDEF KeyDef[DKEY_TOTAL]; - KEYDEF AnalogDef[ANALOG_TOTAL][4]; -} PADDEF; - -typedef struct tagConfig { - uint8_t Threaded; - PADDEF PadDef[2]; -} CONFIG; - -typedef struct tagPadState { - SDL_Joystick *JoyDev; - uint8_t PadMode; - uint8_t PadID; - volatile uint16_t KeyStatus; - volatile uint16_t JoyKeyStatus; - volatile uint8_t AnalogStatus[ANALOG_TOTAL][2]; // 0-255 where 127 is center position - volatile uint8_t AnalogKeyStatus[ANALOG_TOTAL][4]; -} PADSTATE; - -typedef struct tagGlobalData { - CONFIG cfg; - - uint8_t Opened; - Display *Disp; - - PADSTATE PadState[2]; - volatile long KeyLeftOver; -} GLOBALDATA; - -extern GLOBALDATA g; - -enum { - CMD_READ_DATA_AND_VIBRATE = 0x42, - CMD_CONFIG_MODE = 0x43, - CMD_SET_MODE_AND_LOCK = 0x44, - CMD_QUERY_MODEL_AND_MODE = 0x45, - CMD_QUERY_ACT = 0x46, // ?? - CMD_QUERY_COMB = 0x47, // ?? - CMD_QUERY_MODE = 0x4C, // QUERY_MODE ?? - CMD_VIBRATION_TOGGLE = 0x4D, -}; - -// cfg.c functions... -void LoadPADConfig(); -void SavePADConfig(); - -// sdljoy.c functions... -void InitSDLJoy(); -void DestroySDLJoy(); -void CheckJoy(); - -// xkb.c functions... -void InitKeyboard(); -void DestroyKeyboard(); -void CheckKeyboard(); - -// analog.c functions... -void InitAnalog(); -void CheckAnalog(); -int AnalogKeyPressed(uint16_t Key); -int AnalogKeyReleased(uint16_t Key); - -// pad.c functions... -char *PSEgetLibName(void); -uint32_t PSEgetLibType(void); -uint32_t PSEgetLibVersion(void); -long PADinit(long flags); -long PADshutdown(void); -long PADopen(unsigned long *Disp); -long PADclose(void); -long PADquery(void); -unsigned char PADstartPoll(int pad); -unsigned char PADpoll(unsigned char value); -long PADreadPort1(PadDataS *pad); -long PADreadPort2(PadDataS *pad); -long PADkeypressed(void); -long PADconfigure(void); -void PADabout(void); -long PADtest(void); - -#ifdef __cplusplus -} -#endif - -#endif