#ifndef EMULATOR_INCLUDE_EMULATOR_LIBS_PADDATA_H_ #define EMULATOR_INCLUDE_EMULATOR_LIBS_PADDATA_H_ #include "common/common.h" namespace Libs::Controller { 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; uint8_t touch_data_touch_num; uint8_t touch_data_reserve[3]; uint32_t touch_data_reserve1; uint16_t touch_data_touch0_x; uint16_t touch_data_touch0_y; uint8_t touch_data_touch0_id; uint8_t touch_data_touch0_reserve[3]; uint16_t touch_data_touch1_x; uint16_t touch_data_touch1_y; uint8_t touch_data_touch1_id; uint8_t touch_data_touch1_reserve[3]; 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_ */