//=========== Copyright Valve Corporation, All rights reserved. ===============//
//
// Purpose: 
//=============================================================================//

#ifndef GAMEPADCODES_H
#define GAMEPADCODES_H

#ifdef _WIN32
#pragma once
#endif

namespace panorama
{

enum GamePadCode
{
	XK_NULL,
	XK_BUTTON_UP,
	XK_BUTTON_DOWN,
	XK_BUTTON_LEFT,
	XK_BUTTON_RIGHT,
	XK_BUTTON_START,
	XK_BUTTON_BACK,
	XK_BUTTON_STICK1,
	XK_BUTTON_STICK2,
	XK_BUTTON_A,
	XK_BUTTON_B,
	XK_BUTTON_X,
	XK_BUTTON_Y,
	XK_BUTTON_LEFT_SHOULDER,
	XK_BUTTON_RIGHT_SHOULDER,
	XK_BUTTON_LTRIGGER,
	XK_BUTTON_RTRIGGER,
	XK_STICK1_UP,
	XK_STICK1_DOWN,
	XK_STICK1_LEFT,
	XK_STICK1_RIGHT,
	XK_STICK2_UP,
	XK_STICK2_DOWN,
	XK_STICK2_LEFT,
	XK_STICK2_RIGHT,
	XK_STICK1_ANALOG,
	XK_STICK2_ANALOG,
	XK_BUTTON_GUIDE,

	STEAM_LEFTPAD_UP,
	STEAM_LEFTPAD_DOWN,
	STEAM_LEFTPAD_LEFT,
	STEAM_LEFTPAD_RIGHT,
	STEAM_LEFTPAD_ANALOG,
	STEAM_RIGHTPAD_UP,
	STEAM_RIGHTPAD_DOWN,
	STEAM_RIGHTPAD_LEFT,
	STEAM_RIGHTPAD_RIGHT,
	STEAM_RIGHTPAD_ANALOG,
	STEAM_LEFTSTICK_UP,
	STEAM_LEFTSTICK_DOWN,
	STEAM_LEFTSTICK_LEFT,
	STEAM_LEFTSTICK_RIGHT,
	STEAM_LEFTSTICK_ANALOG,
	STEAM_BUTTON_LTRIGGER,
	STEAM_BUTTON_RTRIGGER,
	STEAM_BUTTON_LSHOULDER,
	STEAM_BUTTON_RSHOULDER,
	STEAM_BUTTON_LBACK,
	STEAM_BUTTON_RBACK,
	STEAM_BUTTON_GUIDE,
	STEAM_BUTTON_SELECT,
	STEAM_BUTTON_START,
	STEAM_BUTTON_LPAD_CLICKED,
	STEAM_BUTTON_LPAD_TOUCH,
	STEAM_BUTTON_RPAD_CLICKED,
	STEAM_BUTTON_RPAD_TOUCH,
	STEAM_BUTTON_LPAD_DBLTAPPED,
	STEAM_BUTTON_RPAD_DBLTAPPED,
	STEAM_BUTTON_A,
	STEAM_BUTTON_B,
	STEAM_BUTTON_X,
	STEAM_BUTTON_Y,
	STEAM_BUTTON_DPAD_UP,
	STEAM_BUTTON_DPAD_RIGHT,
	STEAM_BUTTON_DPAD_DOWN,
	STEAM_BUTTON_DPAD_LEFT,

	XK_MAX_KEYS,
};


enum EJoystickAxis
{
	JOY_AXIS_X = 0,
	JOY_AXIS_Y,
	JOY_AXIS_Z,
	JOY_AXIS_R,
	JOY_AXIS_U,
	JOY_AXIS_V,
	JOY_MAX_AXES,
};

enum EJoystickDeadzoneMode
{
	JOYSTICK_DEADZONE_CROSS = 0,
	JOYSTICK_DEADZONE_SQUARE = 1,
};

} // namespace panorama

#endif // GAMEPADCODES_H