Files
Dean Galvin b816673fb5 fix(libSceMouse): take the position arguments of sceMouseResetAbsolutePosition
A call site passes the handle and then x and y as zero-extended 16-bit values (the centre of the display size), and ignores the result.
2026-10-16 22:10:10 +02:00

32 lines
930 B
C++

#ifndef CORE_LIBS_PRX_LIBSCEMOUSE_MOUSESTATE_HPP
#define CORE_LIBS_PRX_LIBSCEMOUSE_MOUSESTATE_HPP
#include "prx/libSceMouse/include/mouse_structs.h"
struct MouseInputEvent {
std::int32_t x = 0;
std::int32_t y = 0;
std::int32_t wheel = 0;
std::int32_t tilt = 0;
std::uint32_t button = 0;
bool pressed = false;
bool resetButtons = false;
bool connectionChange = false;
bool connected = true;
};
namespace Mouse {
bool IsOpen();
int Initialize();
int Open(int userId, std::int32_t type, std::int32_t index, const MouseOpenParam* param);
int Close(std::int32_t handle);
int Read(std::int32_t handle, MouseData* data, std::int32_t num);
int ResetAbsolutePosition(std::int32_t handle, std::uint16_t x, std::uint16_t y);
void Publish(const MouseInputEvent& event);
}
extern "C" void MousePublishInput_nid_no_patch(const MouseInputEvent& event);
extern "C" bool MouseIsOpen_nid_no_patch();
#endif