• Stars
    star
    166
  • Rank 226,483 (Top 5 %)
  • Language
    C++
  • License
    MIT License
  • Created about 3 years ago
  • Updated about 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A library for simulating keyboard and mouse input with drivers

IbInputSimulator

A library for simulating keyboard and mouse input with drivers.

Download

Releases

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, the mouse driver has been removed (#8). Unfortunately, there is currently no known way to install an old version.

    e.g. IbSendInit("Logitech")

  • 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

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

More Repositories

1

IbEverythingExt

Everything 拼音搜索、快速选择扩展
C++
1,176
star
2

ComfyScript

A Python front end and library for ComfyUI
Python
349
star
3

DirectoryOpus

一款上手简单、系统集成度高、功能强大的 Windows 文件管理器
Markdown
262
star
4

ObsidianShell

Associate Markdown files with Obsidian
C#
78
star
5

IbDOpusScripts

Some scripts for Directory Opus.
JavaScript
52
star
6

IbDOpusExt

An extension for Directory Opus.
C++
33
star
7

IbPinyinLib

一个高性能 Rust 拼音匹配库,支持 C、AHK2
Rust
28
star
8

IbLogiSoftExt

An extension for Logitech Gaming Software. Support sending G-keys to AutoHotkey.
C++
22
star
9

ComfyUI_Ib_CustomNodes

Load Image From Path, PIL.Image
Python
15
star
10

IbEverythingLib

A C++17 library for voidtool's Everything.
C++
8
star
11

IbDllHijackLib

A C library for Windows DLL hijacking.
C
6
star
12

IbDOpusNfoPlugin

An NFO viewer plugin for Directory Opus.
C++
5
star
13

ConcurrentComputing

Markdown
4
star
14

IbWinCppLib

A C++17 library for Windows and C++.
C++
4
star
15

library-signatures

Binary signatures of some libraries.
4
star
16

Photomosaic-generator

Generate Photomosaic by histogram similarity and OpenMP
Jupyter Notebook
4
star
17

Networks

Markdown
4
star
18

PersonalComputing

Markdown
4
star
19

IbOneNoteExt

An extension for Microsoft OneNote. Support changing font Calibri to Microsoft YaHei.
C++
4
star
20

IbSensorHub

Access device sensors remotely.
C#
4
star
21

VisualComputing

Markdown
4
star
22

Windows

Markdown
4
star
23

Cryptology

Markdown
3
star
24

IbIconPreviewHandler

An icon preview handler for Windows Shell.
C#
3
star
25

Rust

Markdown
3
star
26

MarshalByRefProxy

A .NET library for marshalling any object by reference that do not require the object to inherit from MarshalByRefObject.
C#
3
star
27

CourseManager-Assignment

教务管理系统(课设)
C#
3
star
28

IbTagBot

Telegram 标签分词机器人
Python
3
star
29

Cpp

Markdown
3
star
30

InformationSystems

Markdown
3
star
31

Web

Markdown
3
star
32

InformationSecurity

Markdown
3
star
33

ComputerHardware

Markdown
3
star
34

IbClipboardUtil

A Windows tool for analyzing clipboard formats
C#
3
star
35

IbMarkdownUtil

Python
3
star
36

FormalLanguages

Markdown
2
star
37

Statistics

Jupyter Notebook
2
star
38

IbInputLib

2
star
39

Linux

Markdown
2
star
40

IbUpdateLib

A lightweight software update library.
C#
2
star
41

.NET

Markdown
2
star
42

ComputerSoftware

Markdown
2
star
43

Python

Markdown
2
star
44

ComputationalMathematics

Jupyter Notebook
2
star
45

AuditoryComputing

Markdown
2
star
46

Go

2
star
47

BinaryAnalysis

C
2
star
48

IbKodboxCrawler

A simple crawler for kodbox.
C#
2
star
49

ROGAzothUtil

Remapping for ASUS ROG Azoth
AutoHotkey
2
star
50

DevZest.DataVirtualization

Component for displaying and interacting a large data set in WPF application.
C#
2
star
51

ArtificialIntelligence

Jupyter Notebook
2
star
52

Biology

Markdown
2
star
53

NtWin32

Use the Win32 subsystem API while depending only on Ntdll.dll
C
1
star
54

Physics

Markdown
1
star
55

IbAutoScreenshot

C#
1
star
56

Economics

Markdown
1
star
57

Mathematics

Markdown
1
star
58

IbProcessGuard

C++
1
star
59

Cpp-Programming-LiChanghe-Exercises

李长河《C++程序设计:基于C++11标准》习题的个人代码。
C++
1
star
60

Java

Markdown
1
star