59 lines
1.4 KiB
C++
59 lines
1.4 KiB
C++
#ifndef EMULATOR_INCLUDE_EMULATOR_LIBS_PADDATA_H_
|
|
#define EMULATOR_INCLUDE_EMULATOR_LIBS_PADDATA_H_
|
|
|
|
#include "common/common.h"
|
|
|
|
namespace Libs::Controller {
|
|
|
|
struct PadTouch {
|
|
uint16_t x;
|
|
uint16_t y;
|
|
uint8_t id;
|
|
uint8_t reserve[3];
|
|
};
|
|
|
|
struct PadTouchData {
|
|
uint8_t touch_num;
|
|
uint8_t reserve[3];
|
|
uint32_t reserve1;
|
|
PadTouch touch[2];
|
|
};
|
|
|
|
struct PadData {
|
|
uint32_t buttons;
|
|
uint8_t left_stick_x;
|
|
uint8_t left_stick_y;
|
|
uint8_t right_stick_x;
|
|
uint8_t right_stick_y;
|
|
uint8_t analog_buttons_l2;
|
|
uint8_t analog_buttons_r2;
|
|
uint8_t padding[2];
|
|
float orientation_x;
|
|
float orientation_y;
|
|
float orientation_z;
|
|
float orientation_w;
|
|
float acceleration_x;
|
|
float acceleration_y;
|
|
float acceleration_z;
|
|
float angular_velocity_x;
|
|
float angular_velocity_y;
|
|
float angular_velocity_z;
|
|
PadTouchData touch_data;
|
|
bool connected;
|
|
uint64_t timestamp;
|
|
uint32_t extension_unit_data_extension_unit_id;
|
|
uint8_t extension_unit_data_reserve[1];
|
|
uint8_t extension_unit_data_data_length;
|
|
uint8_t extension_unit_data_data[10];
|
|
uint8_t connected_count;
|
|
uint8_t reserve[2];
|
|
uint8_t device_unique_data_len;
|
|
uint8_t device_unique_data[12];
|
|
};
|
|
|
|
static_assert(sizeof(PadData) == 120);
|
|
|
|
} // namespace Libs::Controller
|
|
|
|
#endif /* EMULATOR_INCLUDE_EMULATOR_LIBS_PADDATA_H_ */
|