mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-27 02:01:42 +00:00
Added XboxController class (#140)
Joystick and Gamepad functionality was separated into cleaner interfaces.
This commit is contained in:
committed by
Peter Johnson
parent
8c93ceb728
commit
140c365e4b
53
wpilibc/shared/include/XboxController.h
Normal file
53
wpilibc/shared/include/XboxController.h
Normal file
@@ -0,0 +1,53 @@
|
||||
/*----------------------------------------------------------------------------*/
|
||||
/* Copyright (c) FIRST 2016. All Rights Reserved. */
|
||||
/* Open Source Software - may be modified and shared by FRC teams. The code */
|
||||
/* must be accompanied by the FIRST BSD license file in the root directory of */
|
||||
/* the project. */
|
||||
/*----------------------------------------------------------------------------*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "ErrorBase.h"
|
||||
#include "GamepadBase.h"
|
||||
|
||||
namespace frc {
|
||||
|
||||
class DriverStation;
|
||||
|
||||
/**
|
||||
* Handle input from Xbox 360 or Xbox One controllers connected to the Driver
|
||||
* Station.
|
||||
*
|
||||
* This class handles Xbox input that comes from the Driver Station. Each time a
|
||||
* value is requested the most recent value is returend. There is a single class
|
||||
* instance for each controller and the mapping of ports to hardware buttons
|
||||
* depends on the code in the Driver Station.
|
||||
*/
|
||||
class XboxController : public GamepadBase, public ErrorBase {
|
||||
public:
|
||||
explicit XboxController(int port);
|
||||
virtual ~XboxController() = default;
|
||||
|
||||
XboxController(const XboxController&) = delete;
|
||||
XboxController& operator=(const XboxController&) = delete;
|
||||
|
||||
float GetX(JoystickHand hand) const override;
|
||||
float GetY(JoystickHand hand) const override;
|
||||
|
||||
bool GetBumper(JoystickHand hand) const override;
|
||||
bool GetStickButton(JoystickHand hand) const override;
|
||||
|
||||
virtual float GetTriggerAxis(JoystickHand hand) const;
|
||||
|
||||
bool GetAButton() const;
|
||||
bool GetBButton() const;
|
||||
bool GetXButton() const;
|
||||
bool GetYButton() const;
|
||||
bool GetBackButton() const;
|
||||
bool GetStartButton() const;
|
||||
|
||||
private:
|
||||
DriverStation& m_ds;
|
||||
};
|
||||
|
||||
} // namespace frc
|
||||
Reference in New Issue
Block a user