Sunshine v2025.118.151840
Self-hosted game stream host for Moonlight.
platf::input_raw_t Struct Reference
Collaboration diagram for platf::input_raw_t:
[legend]

Public Member Functions

int alloc_gamepad (const gamepad_id_t &id, const gamepad_arrival_t &metadata, feedback_queue_t &&feedback_queue)
 
void clear ()
 
void clear_gamepad (int nr)
 
void clear_keyboard ()
 
void clear_mouse_abs ()
 
void clear_mouse_rel ()
 
int create_keyboard ()
 
int create_mouse_abs ()
 
int create_mouse_rel ()
 

Public Attributes

int accumulated_hscroll_delta = 0
 
int accumulated_vscroll_delta = 0
 
decltype(CreateSyntheticPointerDevice) * fnCreateSyntheticPointerDevice
 
decltype(DestroySyntheticPointerDevice) * fnDestroySyntheticPointerDevice
 
decltype(InjectSyntheticPointerInput) * fnInjectSyntheticPointerInput
 
evdev_t gamepad_dev
 
std::vector< std::shared_ptr< joypad_state > > gamepads
 
std::vector< std::pair< uinput_t, gamepad_state_t > > gamepads
 
inputtino::Result< inputtino::Keyboard > keyboard
 
evdev_t keyboard_dev
 
uinput_t keyboard_input
 
uint8_t * last_mouse_device_buttons_down = nullptr
 
uinput_t::pointer last_mouse_device_used = nullptr
 
inputtino::Result< inputtino::Mouse > mouse
 
uint8_t mouse_abs_buttons_down = 0
 
evdev_t mouse_abs_dev
 
uinput_t mouse_abs_input
 
uint8_t mouse_rel_buttons_down = 0
 
evdev_t mouse_rel_dev
 
uinput_t mouse_rel_input
 
evdev_t pen_dev
 
safe::shared_t< rumble_ctx_t >::ptr_t rumble_ctx
 
evdev_t touchscreen_dev
 
vigem_tvigem
 

Member Data Documentation

◆ gamepads

std::vector<std::shared_ptr<joypad_state> > platf::input_raw_t::gamepads

A list of gamepads that are currently connected. The pointer is shared because that state will be shared with background threads that deal with rumble and LED


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