XeClutch
Raised on 7S
This is something I made when I first started learning how to use classes in C++. This is obviously for Xbox.
ButtonMonitor.h
ButtonMonitor.h
C++:
#pragma once
#include "stdafx.h"
#include <xinputdefs.h>
class ButtonMonitor
{
public:
// Variables
XINPUT_STATE ctrl;
bool DPAD_UP;
bool DPAD_DOWN;
bool DPAD_LEFT;
bool DPAD_RIGHT;
bool START;
bool BACK;
bool THUMBSTICK_LEFT;
bool THUMBSTICK_RIGHT;
bool BUMPER_LEFT;
bool BUMPER_RIGHT;
bool MAIN_A;
bool MAIN_B;
bool MAIN_X;
bool MAIN_Y;
// Methods
void ButtonMonitor::Refresh(DWORD Controller = 0)
{
if (!XInputGetState(Controller, &ctrl))
{
DPAD_UP = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_UP) > 0);
DPAD_DOWN = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_DOWN) > 0);
DPAD_LEFT = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_LEFT) > 0);
DPAD_RIGHT = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_DPAD_RIGHT) > 0);
START = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_START) > 0);
BACK = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_BACK) > 0);
THUMBSTICK_LEFT = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_LEFT_THUMB) > 0);
THUMBSTICK_RIGHT = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_THUMB) > 0);
BUMPER_LEFT = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_LEFT_SHOULDER) > 0);
BUMPER_RIGHT = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_RIGHT_SHOULDER) > 0);
MAIN_A = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_A) > 0);
MAIN_B = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_B) > 0);
MAIN_X = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_X) > 0);
MAIN_Y = ((ctrl.Gamepad.wButtons & XINPUT_GAMEPAD_Y) > 0);
}
}
};
Last edited: