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

Mouse input injector using platform-specific APIs. More...

#include <mouseSim.hpp>

Public Member Functions

 MouseInjector ()
 ~MouseInjector ()
 MouseInjector (const MouseInjector &)=delete
MouseInjectoroperator= (const MouseInjector &)=delete
 MouseInjector (MouseInjector &&)=delete
MouseInjectoroperator= (MouseInjector &&)=delete
void moveMouseToPosition (int x, int y)
 Move the mouse to the specified coordinates.
void moveMouseByOffset (int x, int y)
 Move the mouse by the specified offset.
void singleClick ()
 Simulate a single left click.
void doubleClick ()
void leftClick ()
 Simulate a left click.
void rightClick ()
void middleClick ()
void leftDown ()
void leftUp ()
void rightDown ()
void rightUp ()
void middleDown ()
void middleUp ()
void scrollUp ()
void scrollDown ()

Static Private Attributes

static constexpr unsigned int ClickHoldTime = 10

Detailed Description

Mouse input injector using platform-specific APIs.

Platform-specific implementations:

  • Windows: Uses the Windows SendInput API for mouse simulation
  • Linux: Uses libevdev and uinput for mouse simulation

Both platforms use instance methods for consistent interface.

Constructor & Destructor Documentation

◆ MouseInjector() [1/3]

MouseInjector::MouseInjector ( )

◆ ~MouseInjector()

MouseInjector::~MouseInjector ( )

◆ MouseInjector() [2/3]

MouseInjector::MouseInjector ( const MouseInjector & )
delete

◆ MouseInjector() [3/3]

MouseInjector::MouseInjector ( MouseInjector && )
delete

Member Function Documentation

◆ doubleClick()

void MouseInjector::doubleClick ( )

◆ leftClick()

void MouseInjector::leftClick ( )

Simulate a left click.

Note
Repeated calls to this function may result in a double click. Use singleClick() if you want to avoid this.
See also
singleClick()

◆ leftDown()

void MouseInjector::leftDown ( )

◆ leftUp()

void MouseInjector::leftUp ( )

◆ middleClick()

void MouseInjector::middleClick ( )

◆ middleDown()

void MouseInjector::middleDown ( )

◆ middleUp()

void MouseInjector::middleUp ( )

◆ moveMouseByOffset()

void MouseInjector::moveMouseByOffset ( int x,
int y )

Move the mouse by the specified offset.

Parameters
xfrom 0 to screen width
yfrom 0 to screen height

◆ moveMouseToPosition()

void MouseInjector::moveMouseToPosition ( int x,
int y )

Move the mouse to the specified coordinates.

Parameters
xfrom 0 to screen width
yfrom 0 to screen height

◆ operator=() [1/2]

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

◆ operator=() [2/2]

MouseInjector & MouseInjector::operator= ( MouseInjector && )
delete

◆ rightClick()

void MouseInjector::rightClick ( )

◆ rightDown()

void MouseInjector::rightDown ( )

◆ rightUp()

void MouseInjector::rightUp ( )

◆ scrollDown()

void MouseInjector::scrollDown ( )

◆ scrollUp()

void MouseInjector::scrollUp ( )

◆ singleClick()

void MouseInjector::singleClick ( )

Simulate a single left click.

Note
This function will sleep for the double click time.

Member Data Documentation

◆ ClickHoldTime

unsigned int MouseInjector::ClickHoldTime = 10
staticconstexprprivate

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