34 void reset(std::shared_ptr<input_t> &input);
54 void passthrough(std::shared_ptr<input_t> &input, std::vector<std::uint8_t> &&input_data);
61 [[nodiscard]] std::unique_ptr<platf::deinit_t>
init();
113 int gamepad_id(
const std::shared_ptr<input_t> &input, std::uint8_t client_index);
119 void set_input_packet_hook(std::function<
void(std::uint32_t)> hook);
126 void set_input_task_sink(std::function<
void(std::shared_ptr<input_t>)>
sink);
133 void process_queued_messages(std::shared_ptr<input_t> input);
138 struct keyboard_event_t {
139 std::uint16_t key_code;
142 bool extended =
false;
154 void set_keyboard_sink(std::function<
void(
const keyboard_event_t &)>
sink);
165 void send_keyboard_packet(std::shared_ptr<input_t> &input, std::uint16_t key_code, std::uint8_t modifiers, std::uint8_t flags,
bool release);
174 void send_relative_mouse_packet(std::shared_ptr<input_t> &input, std::int16_t delta_x, std::int16_t delta_y);
179 void reset_keyboard_state();
184 void release_held_keys();
192 bool is_valid_input_packet(std::span<const std::uint8_t> packet);
200 std::size_t queued_input_packet_count(
const std::shared_ptr<input_t> &input);
224 explicit operator bool()
const {
236 std::pair<float, float> scale_client_contact_area(
const std::pair<float, float> &val, uint16_t rotation,
const std::pair<float, float> &scalar);
Declarations for common platform specific utilities.
util::safe_ptr< input_raw_t, &freeInput > input_t
Owning pointer for a platform input backend.
Definition common.h:893
boost::shared_ptr< boost::log::sinks::asynchronous_sink< boost::log::sinks::text_ostream_backend > > sink
Sink.
Definition logging.cpp:40
Handles process-wide communication.
Definition globals.h:34
Capabilities reported when a controller is connected.
Definition common.h:445
Touchscreen coordinate bounds used to scale absolute input.
Definition common.h:387
int height
Frame or display height in pixels.
Definition common.h:391
int width
Frame or display width in pixels.
Definition common.h:390
Declarations for thread-safe data structures.
std::shared_ptr< mail_raw_t > mail_t
Shared mailbox handle used by event and queue wrappers.
Definition thread_safe.h:753