Stub controller battery, touch, and motion packets

This commit is contained in:
Cameron Gutman
2023-07-08 12:04:16 -05:00
parent 1ef8cb1111
commit fd77230964
6 changed files with 328 additions and 1 deletions

View File

@@ -185,6 +185,32 @@ namespace platf {
std::uint32_t supportedButtons;
};
struct gamepad_touch_t {
std::uint8_t gamepadNumber;
std::uint8_t eventType;
std::uint32_t pointerId;
float x;
float y;
float pressure;
};
struct gamepad_motion_t {
std::uint8_t gamepadNumber;
std::uint8_t motionType;
// Accel: m/s^2
// Gyro: deg/s
float x;
float y;
float z;
};
struct gamepad_battery_t {
std::uint8_t gamepadNumber;
std::uint8_t state;
std::uint8_t percentage;
};
class deinit_t {
public:
virtual ~deinit_t() = default;
@@ -470,6 +496,30 @@ namespace platf {
void
unicode(input_t &input, char *utf8, int size);
/**
* @brief Sends a gamepad touch event to the OS.
* @param input The input context.
* @param touch The touch event.
*/
void
gamepad_touch(input_t &input, const gamepad_touch_t &touch);
/**
* @brief Sends a gamepad motion event to the OS.
* @param input The input context.
* @param motion The motion event.
*/
void
gamepad_motion(input_t &input, const gamepad_motion_t &motion);
/**
* @brief Sends a gamepad battery event to the OS.
* @param input The input context.
* @param battery The battery event.
*/
void
gamepad_battery(input_t &input, const gamepad_battery_t &battery);
/**
* @brief Creates a new virtual gamepad.
* @param input The input context.

View File

@@ -1567,6 +1567,36 @@ namespace platf {
libevdev_uinput_write_event(uinput.get(), EV_SYN, SYN_REPORT, 0);
}
/**
* @brief Sends a gamepad touch event to the OS.
* @param input The input context.
* @param touch The touch event.
*/
void
gamepad_touch(input_t &input, const gamepad_touch_t &touch) {
// Unimplemented feature - platform_caps::controller_touch
}
/**
* @brief Sends a gamepad motion event to the OS.
* @param input The input context.
* @param motion The motion event.
*/
void
gamepad_motion(input_t &input, const gamepad_motion_t &motion) {
// Unimplemented
}
/**
* @brief Sends a gamepad battery event to the OS.
* @param input The input context.
* @param battery The battery event.
*/
void
gamepad_battery(input_t &input, const gamepad_battery_t &battery) {
// Unimplemented
}
/**
* @brief Initialize a new keyboard and return it.
*

View File

@@ -448,6 +448,36 @@ const KeyCodeMap kKeyCodesMap[] = {
// Unimplemented
}
/**
* @brief Sends a gamepad touch event to the OS.
* @param input The input context.
* @param touch The touch event.
*/
void
gamepad_touch(input_t &input, const gamepad_touch_t &touch) {
// Unimplemented feature - platform_caps::controller_touch
}
/**
* @brief Sends a gamepad motion event to the OS.
* @param input The input context.
* @param motion The motion event.
*/
void
gamepad_motion(input_t &input, const gamepad_motion_t &motion) {
// Unimplemented
}
/**
* @brief Sends a gamepad battery event to the OS.
* @param input The input context.
* @param battery The battery event.
*/
void
gamepad_battery(input_t &input, const gamepad_battery_t &battery) {
// Unimplemented
}
input_t
input() {
input_t result { new macos_input_t() };

View File

@@ -805,6 +805,36 @@ namespace platf {
}
}
/**
* @brief Sends a gamepad touch event to the OS.
* @param input The input context.
* @param touch The touch event.
*/
void
gamepad_touch(input_t &input, const gamepad_touch_t &touch) {
// Unimplemented feature - platform_caps::controller_touch
}
/**
* @brief Sends a gamepad motion event to the OS.
* @param input The input context.
* @param motion The motion event.
*/
void
gamepad_motion(input_t &input, const gamepad_motion_t &motion) {
// Unimplemented
}
/**
* @brief Sends a gamepad battery event to the OS.
* @param input The input context.
* @param battery The battery event.
*/
void
gamepad_battery(input_t &input, const gamepad_battery_t &battery) {
// Unimplemented
}
void
freeInput(void *p) {
auto input = (input_raw_t *) p;