Counter Strike : Global Offensive Source Code
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

182 lines
4.3 KiB

//===== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======//
//
// Purpose:
//
//===========================================================================//
#ifndef INPUTENUMS_H
#define INPUTENUMS_H
#ifdef _WIN32
#pragma once
#endif
#include "tier0/basetypes.h"
// Standard maximum +/- value of a joystick axis
#define MAX_BUTTONSAMPLE 32768
#if !defined( _X360 )
#define INVALID_USER_ID -1
#else
#define INVALID_USER_ID XBX_INVALID_USER_ID
#endif
//-----------------------------------------------------------------------------
// Forward declarations:
//-----------------------------------------------------------------------------
enum
{
#ifdef _PS3
MAX_JOYSTICKS = 7,
#else
MAX_JOYSTICKS = 4,
#endif
MOUSE_BUTTON_COUNT = 5,
MAX_NOVINT_DEVICES = 2,
};
enum JoystickAxis_t
{
JOY_AXIS_X = 0,
JOY_AXIS_Y,
JOY_AXIS_Z,
JOY_AXIS_R,
JOY_AXIS_U,
JOY_AXIS_V,
MAX_JOYSTICK_AXES,
};
enum JoystickDeadzoneMode_t
{
JOYSTICK_DEADZONE_CROSS = 0,
JOYSTICK_DEADZONE_SQUARE = 1,
};
//-----------------------------------------------------------------------------
// Extra mouse codes
//-----------------------------------------------------------------------------
enum
{
MS_WM_XBUTTONDOWN = 0x020B,
MS_WM_XBUTTONUP = 0x020C,
MS_WM_XBUTTONDBLCLK = 0x020D,
MS_MK_BUTTON4 = 0x0020,
MS_MK_BUTTON5 = 0x0040,
};
//-----------------------------------------------------------------------------
// Events
//-----------------------------------------------------------------------------
enum InputEventType_t
{
IE_ButtonPressed = 0, // m_nData contains a ButtonCode_t
IE_ButtonReleased, // m_nData contains a ButtonCode_t
IE_ButtonDoubleClicked, // m_nData contains a ButtonCode_t
IE_AnalogValueChanged, // m_nData contains an AnalogCode_t, m_nData2 contains the value
IE_FirstSystemEvent = 100,
IE_Quit = IE_FirstSystemEvent,
IE_ControllerInserted, // m_nData contains the controller ID
IE_ControllerUnplugged, // m_nData contains the controller ID
IE_Close,
IE_WindowSizeChanged, // m_nData contains width, m_nData2 contains height, m_nData3 = 0 if not minimized, 1 if minimized
IE_PS_CameraUnplugged, // m_nData contains code for type of disconnect.
IE_PS_Move_OutOfView, // m_nData contains bool (0, 1) for whether the move is now out of view (1) or in view (0)
IE_FirstUIEvent = 200,
IE_LocateMouseClick = IE_FirstUIEvent,
IE_SetCursor,
IE_KeyTyped,
IE_KeyCodeTyped,
IE_InputLanguageChanged,
IE_IMESetWindow,
IE_IMEStartComposition,
IE_IMEComposition,
IE_IMEEndComposition,
IE_IMEShowCandidates,
IE_IMEChangeCandidates,
IE_IMECloseCandidates,
IE_IMERecomputeModes,
IE_OverlayEvent,
IE_FirstVguiEvent = 1000, // Assign ranges for other systems that post user events here
IE_FirstAppEvent = 2000,
};
struct InputEvent_t
{
int m_nType; // Type of the event (see InputEventType_t)
int m_nTick; // Tick on which the event occurred
int m_nData; // Generic 32-bit data, what it contains depends on the event
int m_nData2; // Generic 32-bit data, what it contains depends on the event
int m_nData3; // Generic 32-bit data, what it contains depends on the event
};
//-----------------------------------------------------------------------------
// Steam Controller Enums
//-----------------------------------------------------------------------------
#ifndef MAX_STEAM_CONTROLLERS
#define MAX_STEAM_CONTROLLERS 16
#endif
typedef enum
{
SK_NULL,
SK_BUTTON_A,
SK_BUTTON_B,
SK_BUTTON_X,
SK_BUTTON_Y,
SK_BUTTON_UP,
SK_BUTTON_RIGHT,
SK_BUTTON_DOWN,
SK_BUTTON_LEFT,
SK_BUTTON_LEFT_BUMPER,
SK_BUTTON_RIGHT_BUMPER,
SK_BUTTON_LEFT_TRIGGER,
SK_BUTTON_RIGHT_TRIGGER,
SK_BUTTON_LEFT_GRIP,
SK_BUTTON_RIGHT_GRIP,
SK_BUTTON_LPAD_TOUCH,
SK_BUTTON_RPAD_TOUCH,
SK_BUTTON_LPAD_CLICK,
SK_BUTTON_RPAD_CLICK,
SK_BUTTON_LPAD_UP,
SK_BUTTON_LPAD_RIGHT,
SK_BUTTON_LPAD_DOWN,
SK_BUTTON_LPAD_LEFT,
SK_BUTTON_RPAD_UP,
SK_BUTTON_RPAD_RIGHT,
SK_BUTTON_RPAD_DOWN,
SK_BUTTON_RPAD_LEFT,
SK_BUTTON_SELECT,
SK_BUTTON_START,
SK_BUTTON_STEAM,
SK_BUTTON_INACTIVE_START,
SK_MAX_KEYS
} sKey_t;
enum ESteamPadAxis
{
LEFTPAD_AXIS_X,
LEFTPAD_AXIS_Y,
RIGHTPAD_AXIS_X,
RIGHTPAD_AXIS_Y,
LEFT_TRIGGER_AXIS,
RIGHT_TRIGGER_AXIS,
GYRO_AXIS_PITCH,
GYRO_AXIS_ROLL,
GYRO_AXIS_YAW,
MAX_STEAMPADAXIS = GYRO_AXIS_YAW
};
enum
{
LASTINPUT_KBMOUSE = 0,
LASTINPUT_CONTROLLER = 1,
LASTINPUT_STEAMCONTROLLER = 2
};
#endif // INPUTENUMS_H