Duckcpp 2.1.0
Duckcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
dcpp::SEvent::SJoystickEvent Class Reference

A joystick event. More...

#include <duckcpp/core/engine/IEventReceiver.hpp>

Public Types

enum  {
  NUMBER_OF_BUTTONS = 32 , AXIS_X = 0 , AXIS_Y , AXIS_Z ,
  AXIS_R , AXIS_U , AXIS_V , NUMBER_OF_AXES =18
}
 

Public Member Functions

bool IsButtonPressed (dcpp::uint32_kt button) const
 A helper function to check if a button is pressed.
 

Public Attributes

dcpp::uint32_kt ButtonStates
 
dcpp::int16_kt Axis [NUMBER_OF_AXES]
 
dcpp::uint16_kt POV
 
dcpp::uint8_kt Joystick
 The ID of the joystick which generated this event.
 

Detailed Description

A joystick event.

Unlike other events, joystick events represent the result of polling each connected joystick once per run() of the device. Joystick events will not be generated by default. If joystick support is available for the active device, DCPP_COMPILE_WITH_JOYSTICK_EVENTS is defined, and dcpp::DuckcppDevice::activateJoysticks() has been called, an event of this type will be generated once per joystick per DuckcppDevice::run() regardless of whether the state of the joystick has actually changed.

Member Data Documentation

◆ Axis

dcpp::int16_kt dcpp::SEvent::SJoystickEvent::Axis[NUMBER_OF_AXES]

For AXIS_X, AXIS_Y, AXIS_Z, AXIS_R, AXIS_U and AXIS_V Values are in the range -32768 to 32767, with 0 representing the center position. You will receive the raw value from the joystick, and so will usually want to implement a dead zone around the center of the range. Axes not supported by this joystick will always have a value of 0. On Linux, POV hats are represented as axes, usually the last two active axis.

◆ ButtonStates

dcpp::uint32_kt dcpp::SEvent::SJoystickEvent::ButtonStates

A bitmap of button states. You can use IsButtonPressed() to ( check the state of each button from 0 to (NUMBER_OF_BUTTONS - 1)

◆ Joystick

dcpp::uint8_kt dcpp::SEvent::SJoystickEvent::Joystick

The ID of the joystick which generated this event.

This is an internal Duckcpp index; it does not map directly to any particular hardware joystick.

◆ POV

dcpp::uint16_kt dcpp::SEvent::SJoystickEvent::POV

The POV represents the angle of the POV hat in degrees * 100, from 0 to 35,900. A value of 65535 indicates that the POV hat is centered (or not present). This value is only supported on Windows. On Linux, the POV hat will be sent as 2 axes instead.


The documentation for this class was generated from the following file:

Duckcpp    @cppfx.xyz