71 lines
1.2 KiB
C
71 lines
1.2 KiB
C
#pragma once
|
|
#include "types.h"
|
|
|
|
enum PlainJoystickButtonId
|
|
{
|
|
PJBI_B = 1,
|
|
PJBI_A = 2,
|
|
PJBI_START = 3,
|
|
PJBI_DPAD_UP = 4,
|
|
PJBI_DPAD_DOWN = 5,
|
|
PJBI_DPAD_LEFT = 6,
|
|
PJBI_DPAD_RIGHT = 7,
|
|
PJBI_Y = 9,
|
|
PJBI_X = 10,
|
|
|
|
PJBI_Count=16
|
|
};
|
|
|
|
enum PlainJoystickAxisId
|
|
{
|
|
PJAI_X1 = 0,
|
|
PJAI_Y1 = 1,
|
|
PJAI_X2 = 2,
|
|
PJAI_Y2 = 3,
|
|
|
|
PJAI_Count = 4
|
|
};
|
|
|
|
enum PlainJoystickTriggerId
|
|
{
|
|
PJTI_L = 0,
|
|
PJTI_R = 1,
|
|
|
|
PJTI_Count = 2
|
|
};
|
|
|
|
struct PlainJoystickState
|
|
{
|
|
PlainJoystickState()
|
|
{
|
|
kcode=0xFFFF;
|
|
joy[0]=joy[1]=joy[2]=joy[3]=0x80;
|
|
trigger[0]=trigger[1]=0;
|
|
}
|
|
static const u32 ButtonMask = PJBI_B | PJBI_A | PJBI_START | PJBI_DPAD_UP |
|
|
PJBI_DPAD_DOWN | PJBI_DPAD_LEFT | PJBI_DPAD_RIGHT | PJBI_Y | PJBI_X;
|
|
|
|
static const u32 AxisMask = PJAI_X1 | PJAI_Y1;
|
|
|
|
static const u32 TriggerMask = PJTI_L | PJTI_R;
|
|
|
|
u32 kcode;
|
|
|
|
u8 joy[PJAI_Count];
|
|
u8 trigger[PJTI_Count];
|
|
};
|
|
|
|
struct IMapleConfigMap
|
|
{
|
|
virtual void SetVibration(u32 value) = 0;
|
|
virtual void GetInput(PlainJoystickState* pjs)=0;
|
|
virtual void SetImage(void* img)=0;
|
|
virtual ~IMapleConfigMap() {}
|
|
};
|
|
|
|
#ifndef _ANDROID
|
|
void mcfg_CreateDevices();
|
|
#else
|
|
void mcfg_CreateDevices();
|
|
#endif
|
|
void mcfg_DestroyDevices(); |