Sunshine0.0.5917
Sunshine 0.0.5917
Self-hosted game stream host for Moonlight.
Loading...
Searching...
No Matches
input::input_t Struct Reference

Input emulation settings loaded from configuration. More...

Collaboration diagram for input::input_t:

Public Types

enum  shortkey_e { CTRL = 0x1 , ALT = 0x2 , SHIFT = 0x4 , SHORTCUT = CTRL | ALT | SHIFT }
 Enumerates supported shortkey options. More...

Public Member Functions

 input_t (safe::mail_raw_t::event_t< input::touch_port_t > touch_port_event, platf::feedback_queue_t feedback_queue)
 Construct input state with default controller slots and scroll accumulators.

Public Attributes

int32_t accumulated_hscroll_delta {}
 Accumulated hscroll delta.
int32_t accumulated_vscroll_delta {}
 Accumulated vscroll delta.
modifier_state_t alt_keys
 Client Alt keys contributing to the aggregate Alt flag.
std::unique_ptr< platf::client_input_t > client_context {platf::allocate_client_input_context(platf_input)}
 Client context.
modifier_state_t control_keys
 Client Control keys contributing to the aggregate Control flag.
platf::feedback_queue_t feedback_queue
 Queue used to deliver controller feedback to the platform backend.
std::vector< gamepad_t > gamepads {MAX_GAMEPADS}
 Virtual gamepad slots tracked for the stream.
std::list< std::vector< uint8_t > > input_queue
 Validated input packets waiting for processing.
std::mutex input_queue_lock
 Input queue lock.
bool input_task_scheduled {}
 Whether one worker task owns packet dispatch for this stream; guarded by input_queue_lock.
thread_pool_util::ThreadPool::task_id_t mouse_left_button_timeout {}
 Mouse left button timeout.
modifier_state_t shift_keys
 Client Shift keys contributing to the aggregate Shift flag.
int shortcutFlags {}
 Shortcut flags.
input::touch_port_t touch_port {{0, 0, 0, 0, 0, 0}, 0, 0, 0.0f, 0.0f, 1.0f, 1.0f, 0, 0}
 Touch coordinate bounds for the current stream.
safe::mail_raw_t::event_t< input::touch_port_t > touch_port_event
 Touch port event.

Detailed Description

Input emulation settings loaded from configuration.

Member Enumeration Documentation

◆ shortkey_e

Enumerates supported shortkey options.

Enumerator
CTRL 

Control key.

ALT 

Alt key.

SHIFT 

Shift key.

SHORTCUT 

Shortcut combination.

Constructor & Destructor Documentation

◆ input_t()

input::input_t::input_t ( safe::mail_raw_t::event_t< input::touch_port_t > touch_port_event,
platf::feedback_queue_t feedback_queue )
inline

Construct input state with default controller slots and scroll accumulators.

Parameters
touch_port_eventEvent carrying the active touch port.
feedback_queueQueue used for controller feedback.

The documentation for this struct was generated from the following file: