mkmark / IbInputSimulator

A library for simulating keyboard, mouse and other inputs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IbInputSimulator

A library for simulating keyboard, mouse and other inputs.

Download

Releases

Supported drivers

  • Logitech G HUB

    No Logitech hardware required.

    e.g. IbSendInit("Logitech")

  • Logitech Gaming Software

    No Logitech hardware required.

    e.g. IbSendInit("Logitech")

  • Razer Synapse 3

    Require Razer hardware. (Note that the old versions do not require Razer hardware, however, Razer Synapse 3 only provides an online installer and there is no way to install an old version)

    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

AutoHotkey

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

Build

vcpkg:

vcpkg install detours rapidjson --triplet=x64-windows-static

CMake:

mkdir build
cd build
cmake .. -DCMAKE_TOOLCHAIN_FILE="C:\...\vcpkg\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows-static
cmake --build . --config Release

For the test you also need:

vcpkg install boost-test fmt

And add -DBUILD_TESTING=ON when calling cmake .. .

See also

Credits

Sponsors:

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

About

A library for simulating keyboard, mouse and other inputs

License:MIT License


Languages

Language:C++ 85.2%Language:AutoHotkey 9.0%Language:C 4.1%Language:CMake 1.7%