Skip to content

A library for simulating keyboard and mouse input with drivers

License

Notifications You must be signed in to change notification settings

Chaoses-Ib/IbInputSimulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

70 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IbInputSimulator

A library for simulating keyboard and mouse input with drivers.

Supported drivers

  • Logitech Gaming Software

    No Logitech hardware required. However, in the new versions of LGS, the mouse driver has been removed (#8). You can install v9.02.65 to make the mouse driver available.

    e.g. IbSendInit("Logitech")

  • Logitech G HUB

    No Logitech hardware required. However, in the new versions of G HUB (≥ 2022.3.2300), the mouse driver has been removed (#8). Unfortunately, there is currently no known way to install an old version.

    e.g. IbSendInit("Logitech")

  • Logitech G HUB new

    No Logitech hardware required. Works with new versions of the G HUB. Mouse input stops working after the first reboot following the installation of the G HUB. To restore mouse functionality, you may need to reinstall G HUB with "Transfer my current settings" turned off. (#8)

    e.g. IbSendInit("LogitechGHubNew")

  • Razer Synapse 3

    In the new versions of Razer Synapse, Razer hardware is required to make the driver available. The old versions do not require Razer hardware, but the online installer of Razer Synapse can only install the newest version. To install an old version manually, see #7 for details.

    e.g. IbSendInit("Razer")

  • MouClassInputInjection

    e.g. IbSendInit("MouClassInputInjection", 1, process_id)

  • DD Virtual Mouse & Virtual Keyboard

    May cause a blue screen; difficult to uninstall cleanly; need network.

    To use it, put the DLL (DD94687.64.dll/DD64.dll/DDHID64.dll) with your script file, and then:

    IbSendInit("DD")

    or specify the DLL path when call IbSendInit:

    IbSendInit("DD", 1, "C:\SomeDir\DD64.dll")
  • EDI (private, not for sale)

Software compatibility

Software SendInput Logitech Razer MCII DD EDI DM Other
Blade & Soul (Korean) ✔️ ✔️ ✔️ ❌ SendInput hook
Genshin High

For SendInput, software with High indicates that the target process usually has a high integrity level, which may block SendInput due to UIPI. To put it simply, this means that you need to run the input simulator with administrator privileges.

Supported languages

C++

Build

See InputSimulator.hpp for the API.

AutoHotkey

Download: Releases

Usage:

AutoHotkey v2 AutoHotkey v1
; Run Notepad, type "Hello world!"
; and then select all text by mouse.

#Include "IbInputSimulator.ahk"

IbSendInit()  ; IbSendInit("AnyDriver", 1)

Send("#r")
WinWaitActive("ahk_class #32770")
Send("notepad`n")

WinWaitActive("ahk_exe notepad.exe")
Send("Hello world{!}")
Sleep(100)
MouseClickDrag("Left", 5, 5, 150, 50)
; Run Notepad, type "Hello world!"
; and then select all text by mouse.

#Include %A_ScriptDir%
#Include IbInputSimulator.ahk

IbSendInit() ; IbSendInit("AnyDriver", 1)

Send #r
WinWaitActive, ahk_class #32770
Send notepad`n

WinWaitActive, ahk_exe notepad.exe
Send Hello world{!}
Sleep 100
CoordMode, Mouse, Client
MouseClickDrag, Left, 5, 5, 150, 50

Related projects

Credits

Sponsors:

Date Sponsor Comment
2022-04-03 任性 MouClassInputInjection
2023-04-22 任性 Logitech
2023-02-28 -
2021-08-28 任性 Razer