Sunshine master
Self-hosted game stream host for Moonlight.
input::input_t Struct Reference

Input emulation settings loaded from configuration. More...

Collaboration diagram for input::input_t:
[legend]

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 from the mailbox and platform backend.
 

Public Attributes

int32_t accumulated_hscroll_delta
 Accumulated hscroll delta.
 
int32_t accumulated_vscroll_delta
 Accumulated vscroll delta.
 
std::unique_ptr< platf::client_input_tclient_context
 Client context.
 
platf::feedback_queue_t feedback_queue
 Queue used to deliver controller feedback to the platform backend.
 
std::vector< gamepad_tgamepads
 Virtual gamepad slots tracked for the stream.
 
std::list< std::vector< uint8_t > > input_queue
 Pending raw input packets waiting for processing.
 
std::mutex input_queue_lock
 Input queue lock.
 
bool left_alt_pressed = false
 Tracks whether the left Alt key is currently pressed.
 
thread_pool_util::ThreadPool::task_id_t mouse_left_button_timeout
 Mouse left button timeout.
 
bool right_alt_pressed = false
 Tracks whether the right Alt key is currently pressed.
 
int shortcutFlags
 Shortcut flags.
 
input::touch_port_t touch_port
 Touch coordinate bounds for the current stream.
 
safe::mail_raw_t::event_t< input::touch_port_ttouch_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 from the mailbox and platform backend.

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: