SDL  2.0
controller_structs.h File Reference
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ValveInReportHeader_t
 
struct  ValveControllerStatePacket_t
 
struct  ValveControllerBLEStatePacket_t
 
struct  ValveControllerDebugPacket_t
 
struct  ValveControllerTrackpadImage_t
 
struct  ValveControllerRawTrackpadImage_t
 
struct  SteamControllerWirelessEvent_t
 
struct  SteamControllerStatusEvent_t
 
struct  ValveInReport_t
 

Macros

#define k_ValveInReportMsgVersion   0x01
 

Enumerations

enum  ValveInReportMessageIDs {
  ID_CONTROLLER_STATE = 1 ,
  ID_CONTROLLER_DEBUG = 2 ,
  ID_CONTROLLER_WIRELESS = 3 ,
  ID_CONTROLLER_STATUS = 4 ,
  ID_CONTROLLER_DEBUG2 = 5 ,
  ID_CONTROLLER_SECONDARY_STATE = 6 ,
  ID_CONTROLLER_BLE_STATE = 7 ,
  ID_CONTROLLER_MSG_COUNT
}
 
enum  EBLEPacketReportNums {
  k_EBLEReportState = 4 ,
  k_EBLEReportStatus = 5
}
 
enum  EBLEOptionDataChunksBitmask {
  k_EBLEButtonChunk1 = 0x10 ,
  k_EBLEButtonChunk2 = 0x20 ,
  k_EBLEButtonChunk3 = 0x40 ,
  k_EBLELeftJoystickChunk = 0x80 ,
  k_EBLELeftTrackpadChunk = 0x100 ,
  k_EBLERightTrackpadChunk = 0x200 ,
  k_EBLEIMUAccelChunk = 0x400 ,
  k_EBLEIMUGyroChunk = 0x800 ,
  k_EBLEIMUQuatChunk = 0x1000
}
 

Macro Definition Documentation

◆ k_ValveInReportMsgVersion

#define k_ValveInReportMsgVersion   0x01

Definition at line 32 of file controller_structs.h.

Enumeration Type Documentation

◆ EBLEOptionDataChunksBitmask

Enumerator
k_EBLEButtonChunk1 
k_EBLEButtonChunk2 
k_EBLEButtonChunk3 
k_EBLELeftJoystickChunk 
k_EBLELeftTrackpadChunk 
k_EBLERightTrackpadChunk 
k_EBLEIMUAccelChunk 
k_EBLEIMUGyroChunk 
k_EBLEIMUQuatChunk 

Definition at line 252 of file controller_structs.h.

253 {
254  // First byte uppper nibble
255  k_EBLEButtonChunk1 = 0x10,
256  k_EBLEButtonChunk2 = 0x20,
257  k_EBLEButtonChunk3 = 0x40,
259 
260  // Second full byte
261  k_EBLELeftTrackpadChunk = 0x100,
262  k_EBLERightTrackpadChunk = 0x200,
263  k_EBLEIMUAccelChunk = 0x400,
264  k_EBLEIMUGyroChunk = 0x800,
265  k_EBLEIMUQuatChunk = 0x1000,
266 };
@ k_EBLERightTrackpadChunk
@ k_EBLEButtonChunk2
@ k_EBLELeftTrackpadChunk
@ k_EBLEIMUAccelChunk
@ k_EBLEButtonChunk3
@ k_EBLELeftJoystickChunk
@ k_EBLEIMUGyroChunk
@ k_EBLEButtonChunk1
@ k_EBLEIMUQuatChunk

◆ EBLEPacketReportNums

Enumerator
k_EBLEReportState 
k_EBLEReportStatus 

Definition at line 243 of file controller_structs.h.

244 {
245  // Skipping past 2-3 because they are escape characters in Uart protocol
246  k_EBLEReportState = 4,
247  k_EBLEReportStatus = 5,
248 };
@ k_EBLEReportState
@ k_EBLEReportStatus

◆ ValveInReportMessageIDs

Enumerator
ID_CONTROLLER_STATE 
ID_CONTROLLER_DEBUG 
ID_CONTROLLER_WIRELESS 
ID_CONTROLLER_STATUS 
ID_CONTROLLER_DEBUG2 
ID_CONTROLLER_SECONDARY_STATE 
ID_CONTROLLER_BLE_STATE 
ID_CONTROLLER_MSG_COUNT 

Definition at line 34 of file controller_structs.h.

35 {
ValveInReportMessageIDs
@ ID_CONTROLLER_DEBUG
@ ID_CONTROLLER_WIRELESS
@ ID_CONTROLLER_BLE_STATE
@ ID_CONTROLLER_DEBUG2
@ ID_CONTROLLER_MSG_COUNT
@ ID_CONTROLLER_STATUS
@ ID_CONTROLLER_STATE
@ ID_CONTROLLER_SECONDARY_STATE