#pragma region CPL License
/*
Nuclex Native Framework
Copyright (C) 2002-2013 Nuclex Development Labs
This library is free software; you can redistribute it and/or
modify it under the terms of the IBM Common Public License as
published by the IBM Corporation; either version 1.0 of the
License, or (at your option) any later version.
This library 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
IBM Common Public License for more details.
You should have received a copy of the IBM Common Public
License along with this library
*/
#pragma endregion // CPL License
#ifndef NUCLEX_INPUT_DEVICES_GAMEPADBUTTONS_H
#define NUCLEX_INPUT_DEVICES_GAMEPADBUTTONS_H
namespace Nuclex { namespace Input { namespace Devices {
// ------------------------------------------------------------------------------------------- //
namespace GamePadButtons { // until C++ enum class support is rolled out
/// Bit mask for the buttons on a game pad or joystick
enum Enum {
/// The button that most resembles the "C" button
TriggerC = (1 << 0),
/// The button that most resembles the "Z" button
TriggerZ = (1 << 1),
/// Second button on the left shoulder of the game pad
LeftShoulder2 = (1 << 2),
/// Second button on the right shoulder of the game pad
RightShoulder2 = (1 << 3),
/// The button that most resembles the "Start" button
Start = (1 << 4),
/// The button that most resembles the "Back" or "Select" button
Back = (1 << 5),
/// Button that is integrated into the left thumb stick
LeftStick = (1 << 6),
/// Button that is integrated into the right thumb stick
RightStick = (1 << 7),
/// Button on the left shoulder of the game pad
LeftShoulder = (1 << 8),
/// Button on the right shoulder of the game pad
RightShoulder = (1 << 9),
/// Big button with the manufacturers logo, found on Xbox controllers
BigButton = (1 << 11),
/// Small button commonly used to toggle auto fire
SmallButton = (1 << 12),
/// The button that most resembles the "A" button
TriggerA = (1 << 12),
/// The button that most resembles the "B" button
TriggerB = (1 << 13),
/// The button that most resembles the "X" button
TriggerX = (1 << 14),
/// The button that most resembles the "Y" button
TriggerY = (1 << 15),
};
} // namespace GamePadButtons
// ------------------------------------------------------------------------------------------- //
}}} // namespace Nuclex::Input::Devices
#endif // NUCLEX_INPUT_DEVICES_GAMEPADBUTTONS_H