VGamepad PC
The PC app for the virtual game controller.
Loading...
Searching...
No Matches
KeyboardMouseExecutor Class Reference

Executes gamepad input by converting it to keyboard and mouse actions. More...

#include <executor.hpp>

Inheritance diagram for KeyboardMouseExecutor:
[legend]
Collaboration diagram for KeyboardMouseExecutor:
[legend]

Public Member Functions

 KeyboardMouseExecutor ()
 ~KeyboardMouseExecutor () override=default
 KeyboardMouseExecutor (const KeyboardMouseExecutor &)=delete
KeyboardMouseExecutoroperator= (const KeyboardMouseExecutor &)=delete
 KeyboardMouseExecutor (KeyboardMouseExecutor &&)=delete
KeyboardMouseExecutoroperator= (KeyboardMouseExecutor &&)=delete
bool inject_gamepad_state (vgp_data_exchange_gamepad_reading const &reading) override
 Processes gamepad input and executes corresponding keyboard/mouse actions.
Public Member Functions inherited from ExecutorInterface
virtual ~ExecutorInterface ()=default

Static Public Attributes

static constexpr double THRESHOLD = 0.5
 Threshold for thumbstick input to register as button press.

Private Member Functions

void handleButtonDown (const ButtonInput &buttonInput)
void handleButtonUp (const ButtonInput &buttonInput)
void handleThumbstickInput (const ThumbstickInput &thumbstick, float x_value, float y_value, double threshold)
void handleTriggerInput (const TriggerInput &trigger, float trigger_value)

Private Attributes

std::unique_ptr< KeyboardInjectorm_keyboardInjector
std::unique_ptr< MouseInjectorm_mouseInjector

Detailed Description

Executes gamepad input by converting it to keyboard and mouse actions.

This class takes gamepad input and converts it to equivalent keyboard and mouse actions based on the active keymap profile. It handles button mappings, thumbstick-to-mouse movement, and thumbstick-to-key mappings.

Constructor & Destructor Documentation

◆ KeyboardMouseExecutor() [1/3]

KeyboardMouseExecutor::KeyboardMouseExecutor ( )

◆ ~KeyboardMouseExecutor()

KeyboardMouseExecutor::~KeyboardMouseExecutor ( )
overridedefault

◆ KeyboardMouseExecutor() [2/3]

KeyboardMouseExecutor::KeyboardMouseExecutor ( const KeyboardMouseExecutor & )
delete

◆ KeyboardMouseExecutor() [3/3]

KeyboardMouseExecutor::KeyboardMouseExecutor ( KeyboardMouseExecutor && )
delete

Member Function Documentation

◆ handleButtonDown()

void KeyboardMouseExecutor::handleButtonDown ( const ButtonInput & buttonInput)
private

◆ handleButtonUp()

void KeyboardMouseExecutor::handleButtonUp ( const ButtonInput & buttonInput)
private

◆ handleThumbstickInput()

void KeyboardMouseExecutor::handleThumbstickInput ( const ThumbstickInput & thumbstick,
float x_value,
float y_value,
double threshold )
private

◆ handleTriggerInput()

void KeyboardMouseExecutor::handleTriggerInput ( const TriggerInput & trigger,
float trigger_value )
private

◆ inject_gamepad_state()

bool KeyboardMouseExecutor::inject_gamepad_state ( vgp_data_exchange_gamepad_reading const & reading)
overridevirtual

Processes gamepad input and executes corresponding keyboard/mouse actions.

Parameters
readingThe gamepad input data to process.
Returns
true if the input was processed successfully, false otherwise.

Implements ExecutorInterface.

◆ operator=() [1/2]

KeyboardMouseExecutor & KeyboardMouseExecutor::operator= ( const KeyboardMouseExecutor & )
delete

◆ operator=() [2/2]

KeyboardMouseExecutor & KeyboardMouseExecutor::operator= ( KeyboardMouseExecutor && )
delete

Member Data Documentation

◆ m_keyboardInjector

std::unique_ptr<KeyboardInjector> KeyboardMouseExecutor::m_keyboardInjector
private

◆ m_mouseInjector

std::unique_ptr<MouseInjector> KeyboardMouseExecutor::m_mouseInjector
private

◆ THRESHOLD

double KeyboardMouseExecutor::THRESHOLD = 0.5
staticconstexpr

Threshold for thumbstick input to register as button press.


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