// KJL - 29-Mar-01 15:33:38
// 
// Asura_PlatformInput.h

#ifdef ASURA_USE_PRAGMA_ONCE
    #pragma once
#endif

#ifndef __ASURA_PLATFORMINPUT_H__
#define __ASURA_PLATFORMINPUT_H__

#include "Core/Asura_UserInput.h"

// these more or less match up with the XBOX
enum Asura_PS2_ButtonID
{
	ASURA_PS2_KEYID_PAD1_CROSS      = ASURA_KEYID_PAD1_BUTTON1, 
	ASURA_PS2_KEYID_PAD1_CIRCLE	    = ASURA_KEYID_PAD1_BUTTON2, 
	ASURA_PS2_KEYID_PAD1_SQUARE		= ASURA_KEYID_PAD1_BUTTON3, 
	ASURA_PS2_KEYID_PAD1_TRIANGLE	= ASURA_KEYID_PAD1_BUTTON4, 
	ASURA_PS2_KEYID_PAD1_R2		    = ASURA_KEYID_PAD1_BUTTON5, 
	ASURA_PS2_KEYID_PAD1_L2		    = ASURA_KEYID_PAD1_BUTTON6, 
	ASURA_PS2_KEYID_PAD1_START		= ASURA_KEYID_PAD1_BUTTON7, 
	ASURA_PS2_KEYID_PAD1_SELECT		= ASURA_KEYID_PAD1_BUTTON8, 
	ASURA_PS2_KEYID_PAD1_L1	        = ASURA_KEYID_PAD1_BUTTON9, 
	ASURA_PS2_KEYID_PAD1_R1	        = ASURA_KEYID_PAD1_BUTTON10,
	ASURA_PS2_KEYID_PAD1_L3	        = ASURA_KEYID_PAD1_BUTTON11,
	ASURA_PS2_KEYID_PAD1_R3	        = ASURA_KEYID_PAD1_BUTTON12,
	ASURA_PS2_KEYID_PAD1_UP		    = ASURA_KEYID_PAD1_BUTTON13,
	ASURA_PS2_KEYID_PAD1_DOWN		= ASURA_KEYID_PAD1_BUTTON14,
	ASURA_PS2_KEYID_PAD1_LEFT		= ASURA_KEYID_PAD1_BUTTON15,
	ASURA_PS2_KEYID_PAD1_RIGHT		= ASURA_KEYID_PAD1_BUTTON16,
    
	ASURA_PS2_KEYID_PAD2_CROSS      = ASURA_KEYID_PAD2_BUTTON1, 
	ASURA_PS2_KEYID_PAD2_CIRCLE	    = ASURA_KEYID_PAD2_BUTTON2, 
	ASURA_PS2_KEYID_PAD2_SQUARE		= ASURA_KEYID_PAD2_BUTTON3, 
	ASURA_PS2_KEYID_PAD2_TRIANGLE	= ASURA_KEYID_PAD2_BUTTON4, 
	ASURA_PS2_KEYID_PAD2_R2		    = ASURA_KEYID_PAD2_BUTTON5, 
	ASURA_PS2_KEYID_PAD2_L2		    = ASURA_KEYID_PAD2_BUTTON6, 
	ASURA_PS2_KEYID_PAD2_START		= ASURA_KEYID_PAD2_BUTTON7, 
	ASURA_PS2_KEYID_PAD2_SELECT		= ASURA_KEYID_PAD2_BUTTON8, 
	ASURA_PS2_KEYID_PAD2_L1	        = ASURA_KEYID_PAD2_BUTTON9, 
	ASURA_PS2_KEYID_PAD2_R1	        = ASURA_KEYID_PAD2_BUTTON10,
	ASURA_PS2_KEYID_PAD2_L3	        = ASURA_KEYID_PAD2_BUTTON11,
	ASURA_PS2_KEYID_PAD2_R3	        = ASURA_KEYID_PAD2_BUTTON12,
	ASURA_PS2_KEYID_PAD2_UP		    = ASURA_KEYID_PAD2_BUTTON13,
	ASURA_PS2_KEYID_PAD2_DOWN		= ASURA_KEYID_PAD2_BUTTON14,
	ASURA_PS2_KEYID_PAD2_LEFT		= ASURA_KEYID_PAD2_BUTTON15,
	ASURA_PS2_KEYID_PAD2_RIGHT		= ASURA_KEYID_PAD2_BUTTON16,

	ASURA_PS2_KEYID_PAD3_CROSS      = ASURA_KEYID_PAD3_BUTTON1, 
	ASURA_PS2_KEYID_PAD3_CIRCLE	    = ASURA_KEYID_PAD3_BUTTON2, 
	ASURA_PS2_KEYID_PAD3_SQUARE		= ASURA_KEYID_PAD3_BUTTON3, 
	ASURA_PS2_KEYID_PAD3_TRIANGLE	= ASURA_KEYID_PAD3_BUTTON4, 
	ASURA_PS2_KEYID_PAD3_R2		    = ASURA_KEYID_PAD3_BUTTON5, 
	ASURA_PS2_KEYID_PAD3_L2		    = ASURA_KEYID_PAD3_BUTTON6, 
	ASURA_PS2_KEYID_PAD3_START		= ASURA_KEYID_PAD3_BUTTON7, 
	ASURA_PS2_KEYID_PAD3_SELECT		= ASURA_KEYID_PAD3_BUTTON8, 
	ASURA_PS2_KEYID_PAD3_L1	        = ASURA_KEYID_PAD3_BUTTON9, 
	ASURA_PS2_KEYID_PAD3_R1	        = ASURA_KEYID_PAD3_BUTTON10,
	ASURA_PS2_KEYID_PAD3_L3	        = ASURA_KEYID_PAD3_BUTTON11,
	ASURA_PS2_KEYID_PAD3_R3	        = ASURA_KEYID_PAD3_BUTTON12,
	ASURA_PS2_KEYID_PAD3_UP		    = ASURA_KEYID_PAD3_BUTTON13,
	ASURA_PS2_KEYID_PAD3_DOWN		= ASURA_KEYID_PAD3_BUTTON14,
	ASURA_PS2_KEYID_PAD3_LEFT		= ASURA_KEYID_PAD3_BUTTON15,
	ASURA_PS2_KEYID_PAD3_RIGHT		= ASURA_KEYID_PAD3_BUTTON16,

	ASURA_PS2_KEYID_PAD4_CROSS      = ASURA_KEYID_PAD4_BUTTON1, 
	ASURA_PS2_KEYID_PAD4_CIRCLE	    = ASURA_KEYID_PAD4_BUTTON2, 
	ASURA_PS2_KEYID_PAD4_SQUARE		= ASURA_KEYID_PAD4_BUTTON3, 
	ASURA_PS2_KEYID_PAD4_TRIANGLE	= ASURA_KEYID_PAD4_BUTTON4, 
	ASURA_PS2_KEYID_PAD4_R2		    = ASURA_KEYID_PAD4_BUTTON5, 
	ASURA_PS2_KEYID_PAD4_L2		    = ASURA_KEYID_PAD4_BUTTON6, 
	ASURA_PS2_KEYID_PAD4_START		= ASURA_KEYID_PAD4_BUTTON7, 
	ASURA_PS2_KEYID_PAD4_SELECT		= ASURA_KEYID_PAD4_BUTTON8, 
	ASURA_PS2_KEYID_PAD4_L1	        = ASURA_KEYID_PAD4_BUTTON9, 
	ASURA_PS2_KEYID_PAD4_R1	        = ASURA_KEYID_PAD4_BUTTON10,
	ASURA_PS2_KEYID_PAD4_L3	        = ASURA_KEYID_PAD4_BUTTON11,
	ASURA_PS2_KEYID_PAD4_R3	        = ASURA_KEYID_PAD4_BUTTON12,
	ASURA_PS2_KEYID_PAD4_UP		    = ASURA_KEYID_PAD4_BUTTON13,
	ASURA_PS2_KEYID_PAD4_DOWN		= ASURA_KEYID_PAD4_BUTTON14,
	ASURA_PS2_KEYID_PAD4_LEFT		= ASURA_KEYID_PAD4_BUTTON15,
	ASURA_PS2_KEYID_PAD4_RIGHT		= ASURA_KEYID_PAD4_BUTTON16,

	ASURA_PS2_KEYID_GUNCON1_TRIGGER	= ASURA_KEYID_LIGHTGUN1_TRIGGER,
    ASURA_PS2_KEYID_GUNCON1_A		= ASURA_KEYID_LIGHTGUN1_BUTTON1,
    ASURA_PS2_KEYID_GUNCON1_B		= ASURA_KEYID_LIGHTGUN1_BUTTON2,
	ASURA_PS2_KEYID_GUNCON1_C		= ASURA_KEYID_LIGHTGUN1_BUTTON3,

	ASURA_PS2_KEYID_GUNCON2_TRIGGER	= ASURA_KEYID_LIGHTGUN2_TRIGGER,
    ASURA_PS2_KEYID_GUNCON2_A		= ASURA_KEYID_LIGHTGUN2_BUTTON1,
    ASURA_PS2_KEYID_GUNCON2_B		= ASURA_KEYID_LIGHTGUN2_BUTTON2,
	ASURA_PS2_KEYID_GUNCON2_C		= ASURA_KEYID_LIGHTGUN2_BUTTON3,

	ASURA_PS2_KEYID_NEGCON1_I		= ASURA_KEYID_PAD1_BUTTON1,			// Match to Cross on Dualshock II
	ASURA_PS2_KEYID_NEGCON1_II		= ASURA_KEYID_PAD1_BUTTON2,			// Match to Square
	ASURA_PS2_KEYID_NEGCON1_A		= ASURA_KEYID_PAD1_BUTTON3,			// Match to Circle
	ASURA_PS2_KEYID_NEGCON1_B		= ASURA_KEYID_PAD1_BUTTON4,			// Match to Triangle - these match the physical locations on the pad
	ASURA_PS2_KEYID_NEGCON1_START	= ASURA_KEYID_PAD1_BUTTON7,
	ASURA_PS2_KEYID_NEGCON1_L		= ASURA_KEYID_PAD1_BUTTON9,			// Match to L1
	ASURA_PS2_KEYID_NEGCON1_R		= ASURA_KEYID_PAD1_BUTTON10,		// Match to R1
	ASURA_PS2_KEYID_NEGCON1_UP		= ASURA_KEYID_PAD1_BUTTON13,
	ASURA_PS2_KEYID_NEGCON1_DOWN	= ASURA_KEYID_PAD1_BUTTON14,
	ASURA_PS2_KEYID_NEGCON1_LEFT	= ASURA_KEYID_PAD1_BUTTON15,
	ASURA_PS2_KEYID_NEGCON1_RIGHT	= ASURA_KEYID_PAD1_BUTTON16,

	ASURA_PS2_KEYID_NEGCON2_I		= ASURA_KEYID_PAD2_BUTTON1,			
	ASURA_PS2_KEYID_NEGCON2_II		= ASURA_KEYID_PAD2_BUTTON2,			
	ASURA_PS2_KEYID_NEGCON2_A		= ASURA_KEYID_PAD2_BUTTON3,			
	ASURA_PS2_KEYID_NEGCON2_B		= ASURA_KEYID_PAD2_BUTTON4,			
	ASURA_PS2_KEYID_NEGCON2_START	= ASURA_KEYID_PAD2_BUTTON7,
	ASURA_PS2_KEYID_NEGCON2_L		= ASURA_KEYID_PAD2_BUTTON9,			
	ASURA_PS2_KEYID_NEGCON2_R		= ASURA_KEYID_PAD2_BUTTON10,		
	ASURA_PS2_KEYID_NEGCON2_UP		= ASURA_KEYID_PAD2_BUTTON13,
	ASURA_PS2_KEYID_NEGCON2_DOWN	= ASURA_KEYID_PAD2_BUTTON14,
	ASURA_PS2_KEYID_NEGCON2_LEFT	= ASURA_KEYID_PAD2_BUTTON15,
	ASURA_PS2_KEYID_NEGCON2_RIGHT	= ASURA_KEYID_PAD2_BUTTON16,

	ASURA_PS2_KEYID_NEGCON3_I		= ASURA_KEYID_PAD3_BUTTON1,			
	ASURA_PS2_KEYID_NEGCON3_II		= ASURA_KEYID_PAD3_BUTTON2,			
	ASURA_PS2_KEYID_NEGCON3_A		= ASURA_KEYID_PAD3_BUTTON3,			
	ASURA_PS2_KEYID_NEGCON3_B		= ASURA_KEYID_PAD3_BUTTON4,			
	ASURA_PS2_KEYID_NEGCON3_START	= ASURA_KEYID_PAD3_BUTTON7,
	ASURA_PS2_KEYID_NEGCON3_L		= ASURA_KEYID_PAD3_BUTTON9,			
	ASURA_PS2_KEYID_NEGCON3_R		= ASURA_KEYID_PAD3_BUTTON10,		
	ASURA_PS2_KEYID_NEGCON3_UP		= ASURA_KEYID_PAD3_BUTTON13,
	ASURA_PS2_KEYID_NEGCON3_DOWN	= ASURA_KEYID_PAD3_BUTTON14,
	ASURA_PS2_KEYID_NEGCON3_LEFT	= ASURA_KEYID_PAD3_BUTTON15,
	ASURA_PS2_KEYID_NEGCON3_RIGHT	= ASURA_KEYID_PAD3_BUTTON16,

	ASURA_PS2_KEYID_NEGCON4_I		= ASURA_KEYID_PAD4_BUTTON1,			
	ASURA_PS2_KEYID_NEGCON4_II		= ASURA_KEYID_PAD4_BUTTON2,			
	ASURA_PS2_KEYID_NEGCON4_A		= ASURA_KEYID_PAD4_BUTTON3,			
	ASURA_PS2_KEYID_NEGCON4_B		= ASURA_KEYID_PAD4_BUTTON4,			
	ASURA_PS2_KEYID_NEGCON4_START	= ASURA_KEYID_PAD4_BUTTON7,
	ASURA_PS2_KEYID_NEGCON4_L		= ASURA_KEYID_PAD4_BUTTON9,			
	ASURA_PS2_KEYID_NEGCON4_R		= ASURA_KEYID_PAD4_BUTTON10,		
	ASURA_PS2_KEYID_NEGCON4_UP		= ASURA_KEYID_PAD4_BUTTON13,
	ASURA_PS2_KEYID_NEGCON4_DOWN	= ASURA_KEYID_PAD4_BUTTON14,
	ASURA_PS2_KEYID_NEGCON4_LEFT	= ASURA_KEYID_PAD4_BUTTON15,
	ASURA_PS2_KEYID_NEGCON4_RIGHT	= ASURA_KEYID_PAD4_BUTTON16
};

#define ASURA_PS2_NUM_BUTTONS_IN_PAD (16)
#define ASURA_PS2_NUM_AXES_IN_PAD (4)

#endif//__ASURA_PLATFORMINPUT_H__
