// Copyright (c) FIRST and other WPILib contributors. // Open Source Software; you can modify and/or share it under the terms of // the WPILib BSD license file in the root directory of this project. // THIS FILE WAS AUTO-GENERATED BY ./wpilibc/generate_hids.py. DO NOT MODIFY #pragma once #include "frc/simulation/GenericHIDSim.h" namespace frc { class PS4Controller; namespace sim { /** * Class to control a simulated PS4 controller. */ class PS4ControllerSim : public GenericHIDSim { public: /** * Constructs from a PS4Controller object. * * @param joystick controller to simulate */ explicit PS4ControllerSim(const PS4Controller& joystick); /** * Constructs from a joystick port number. * * @param port port number */ explicit PS4ControllerSim(int port); /** * Change the left X value of the controller's joystick. * * @param value the new value */ void SetLeftX(double value); /** * Change the left Y value of the controller's joystick. * * @param value the new value */ void SetLeftY(double value); /** * Change the right X value of the controller's joystick. * * @param value the new value */ void SetRightX(double value); /** * Change the right Y value of the controller's joystick. * * @param value the new value */ void SetRightY(double value); /** * Change the value of the left trigger 2 axis on the controller. * * @param value the new value */ void SetL2Axis(double value); /** * Change the value of the right trigger 2 axis on the controller. * * @param value the new value */ void SetR2Axis(double value); /** * Change the value of the square button on the controller. * * @param value the new value */ void SetSquareButton(bool value); /** * Change the value of the cross button on the controller. * * @param value the new value */ void SetCrossButton(bool value); /** * Change the value of the circle button on the controller. * * @param value the new value */ void SetCircleButton(bool value); /** * Change the value of the triangle button on the controller. * * @param value the new value */ void SetTriangleButton(bool value); /** * Change the value of the left trigger 1 button on the controller. * * @param value the new value */ void SetL1Button(bool value); /** * Change the value of the right trigger 1 button on the controller. * * @param value the new value */ void SetR1Button(bool value); /** * Change the value of the left trigger 2 button on the controller. * * @param value the new value */ void SetL2Button(bool value); /** * Change the value of the right trigger 2 button on the controller. * * @param value the new value */ void SetR2Button(bool value); /** * Change the value of the share button on the controller. * * @param value the new value */ void SetShareButton(bool value); /** * Change the value of the options button on the controller. * * @param value the new value */ void SetOptionsButton(bool value); /** * Change the value of the L3 (left stick) button on the controller. * * @param value the new value */ void SetL3Button(bool value); /** * Change the value of the R3 (right stick) button on the controller. * * @param value the new value */ void SetR3Button(bool value); /** * Change the value of the PlayStation button on the controller. * * @param value the new value */ void SetPSButton(bool value); /** * Change the value of the touchpad button on the controller. * * @param value the new value */ void SetTouchpadButton(bool value); /** * Change the value of the touchpad button on the controller. * * @param value the new value */ [[deprecated("Use SetTouchpadButton instead")]] void SetTouchpad(bool value); }; } // namespace sim } // namespace frc