An AutoHotkey library that enables AHK to send keystrokes by drivers.

Overview

IbAhkSendLib

Languages: English, 简体中文
An AutoHotkey library that enables AHK to send keystrokes by drivers.

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
    No Razer hardware required, but it will be safer if you have one.
    e.g. IbSendInit("Razer")
  • 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")

Example

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

#Include "IbAhkSend.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 IbAhkSend.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

Downloading

Releases

See Also

For Developers

Building

  1. Put IbWinCppLib in C:\L\C++\packages (in other locations you need to modify the .vcxproj files).
  2. vcpkg
    set VCPKG_DEFAULT_TRIPLET=x64-windows-static-md
    vcpkg install detours rapidjson
    
    For Test project you also need:
    vcpkg install boost-test fmt
    
    Change VCPKG_DEFAULT_TRIPLET to x86-windows-static-md if you need x86 version.
You might also like...
Your friendly e-mail address validation library.

libvldmail Your friendly e-mail address validation library. Why? Did you know that parentheses, spaces and - according to the RFC 6531 document - emoj

A protocol buffers library for C

PBC PBC is a google protocol buffers library for C without code generation. Quick Example package tutorial; message Person { required string name =

An easy-to-use C library for displaying text progress bars.
An easy-to-use C library for displaying text progress bars.

What is this thing? progressbar is a C-class (it's a convention, dammit) for displaying attractive progress bars on the command line. It's heavily inf

Library for writing text-based user interfaces

IMPORTANT This library is no longer maintained. It's pretty small if you have a big project that relies on it, just maintain it yourself. Or look for

Locate the current executable and the current module/library on the file system

Where Am I? A drop-in two files library to locate the current executable and the current module on the file system. Supported platforms: Windows Linux

A small and portable INI file library with read/write support

minIni minIni is a portable and configurable library for reading and writing ".INI" files. At just below 900 lines of commented source code, minIni tr

Small configuration file parser library for C.

libConfuse Introduction Documentation Examples Build & Install Origin & References Introduction libConfuse is a configuration file parser library writ

Libelf is a simple library to read ELF files

libelf Libelf is a simple library which provides functions to read ELF files. Headers #include stdint.h #include elf.h Structures typedef struct

Universal configuration library parser

LIBUCL Table of Contents generated with DocToc Introduction Basic structure Improvements to the json notation General syntax sugar Automatic arrays cr

Comments
  • Install LGS drivers without installing LGS

    Install LGS drivers without installing LGS

    "C:\Program Files\Logitech Gaming Software\Drivers\Installers\DifxInstaller.exe" install "C:\Program Files\Logitech Gaming Software\Drivers\USBAudio\lgAudio.inf" DRIVER_PACKAGE_FORCE
    "C:\Program Files\Logitech Gaming Software\Drivers\Installers\DifxInstaller.exe" install "C:\Program Files\Logitech Gaming Software\Drivers\LGSBulk\LGPBTDD.inf" DRIVER_PACKAGE_FORCE
    "C:\Program Files\Logitech Gaming Software\Drivers\Installers\DifxInstaller.exe" install "C:\Program Files\Logitech Gaming Software\Drivers\LGSHidFilter\LGSFMouHID.inf" DRIVER_PACKAGE_FORCE
    "C:\Program Files\Logitech Gaming Software\Drivers\Installers\DifxInstaller.exe" install "C:\Program Files\Logitech Gaming Software\Drivers\LGSHidFilter\LGSFUsbFilt.inf" DRIVER_PACKAGE_FORCE
    "C:\Program Files\Logitech Gaming Software\Drivers\Installers\DifxInstaller.exe" install "C:\Program Files\Logitech Gaming Software\Drivers\VirtualBus\LGBusEnum.inf" npnp=root\LogiGamePanelVirtualBus DRIVER_PACKAGE_FORCE
    "C:\Program Files\Logitech Gaming Software\Drivers\Installers\DifxInstaller.exe" install "C:\Program Files\Logitech Gaming Software\Drivers\VirtualBus\LGVirHid.inf" DRIVER_PACKAGE_FORCE
    "C:\Program Files\Logitech Gaming Software\Drivers\Installers\DifxInstaller.exe" install "C:\Program Files\Logitech Gaming Software\Drivers\LGJoyHid\LGJoyHid.inf" DRIVER_PACKAGE_FORCE
    "C:\Program Files\Logitech Gaming Software\Drivers\Installers\DifxInstaller.exe" install "C:\Program Files\Logitech Gaming Software\Drivers\LGJoyHid\WinUSB\LGJoyWinUsb.inf" DRIVER_PACKAGE_FORCE
    "C:\Program Files\Logitech Gaming Software\Drivers\Installers\LGCoreTempInstall.exe" /S /company=Logitech
    "C:\Program Files\Logitech Gaming Software\Drivers\Installers\Install_apo.exe" --remove 1 --inf "C:\Program Files\Logitech Gaming Software\Drivers\USBAudio\lgAudio.inf"
    "C:\Program Files\Logitech Gaming Software\Drivers\Installers\Install_apo.exe" --repair --inf "C:\Program Files\Logitech Gaming Software\Drivers\USBAudio\lgAudio.inf"
    
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\SDK\LCD\x86\LgLcdApi.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\SDK\LCD\x64\LgLcdApi.dll"
     /s "C:\Program Files\Logitech Gaming Software\SDK\LCD\x64\LgLcdApi.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\SDK\G-key\x86\LogitechGkey.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\SDK\G-key\x64\LogitechGkey.dll"
     /s "C:\Program Files\Logitech Gaming Software\SDK\G-key\x64\LogitechGkey.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\SDK\LCD\x86\LogitechLcd.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\SDK\LCD\x64\LogitechLcd.dll"
     /s "C:\Program Files\Logitech Gaming Software\SDK\LCD\x64\LogitechLcd.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\SDK\LED\x86\LogitechLed.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\SDK\LED\x64\LogitechLed.dll"
     /s "C:\Program Files\Logitech Gaming Software\SDK\LED\x64\LogitechLed.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\SDK\Arx Control\x86\LogitechGArxControl.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\SDK\Arx Control\x64\LogitechGArxControl.dll"
     /s "C:\Program Files\Logitech Gaming Software\SDK\Arx Control\x64\LogitechGArxControl.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\SDK\SteeringWheel\x86\LogitechSteeringWheel.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\SDK\SteeringWheel\x64\LogitechSteeringWheel.dll"
     /s "C:\Program Files\Logitech Gaming Software\SDK\SteeringWheel\x64\LogitechSteeringWheel.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\Drivers\USBAudio\LGCapturePropPage.dll"
     /s "C:\Program Files\Logitech Gaming Software\Drivers\USBAudio\LGCapturePropPage.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\Drivers\USBAudio\LGRenderPropPage.dll"
     /s "C:\Program Files\Logitech Gaming Software\Drivers\USBAudio\LGRenderPropPage.dll"
    "regsvr32" /s "C:\Program Files\Logitech Gaming Software\Drivers\USBAudio\LGSpeakerPropPage.dll"
     /s "C:\Program Files\Logitech Gaming Software\Drivers\USBAudio\LGSpeakerPropPage.dll"
    
    "C:\Program Files\Logitech Gaming Software\Drivers\APOService\LogiRegistryService.exe" -install
    "C:\Program Files\Logitech Gaming Software\Drivers\APOService\LogiRegistryService.exe" -start
    C:\WINDOWS\system32\services.exe
    "C:\Program Files\Logitech Gaming Software\Drivers\APOService\LogiRegistryService.exe"
    
    "C:\WINDOWS\system32\regsvr32" /s "C:\Program Files\Logitech Gaming Software\Drivers\LGJoyHid\LgJoyFrc.dll"
     /s "C:\Program Files\Logitech Gaming Software\Drivers\LGJoyHid\LgJoyFrc.dll"
    "C:\WINDOWS\SysWOW64\regsvr32" /s "C:\Program Files\Logitech Gaming Software\Drivers\LGJoyHid\LgJoyFrc32.dll"
    "C:\WINDOWS\system32\regsvr32" /s "C:\Program Files\Logitech Gaming Software\Drivers\LGJoyHid\LGHppFrc.dll"
     /s "C:\Program Files\Logitech Gaming Software\Drivers\LGJoyHid\LGHppFrc.dll"
    "C:\WINDOWS\SysWOW64\regsvr32" /s "C:\Program Files\Logitech Gaming Software\Drivers\LGJoyHid\LGHppFrc32.dll"
    "C:\WINDOWS\system32\regsvr32" /s "C:\Program Files\Logitech Gaming Software\LGJoyDriverAPI.dll"
     /s "C:\Program Files\Logitech Gaming Software\LGJoyDriverAPI.dll"
    
    "C:\Program Files\Logitech Gaming Software\Drivers\Installers\OverwolfInstallerLogitech.exe" -silent
    
    enhancement 
    opened by Chaoses-Ib 1
  • Logitech mouse driver does not work

    Logitech mouse driver does not work

    最新版的 G HUB 和 LGS 似乎直接阉割了部分鼠标功能。驱动不再支持鼠标按键或移动,G HUB 和 LGS 的 Lua 宏会使用 SendInput 而不是驱动来实现被阉割的功能。

    Originally posted by @Chaoses-Ib in https://github.com/Chaoses-Ib/IbInputSimulator/issues/4#issuecomment-1280120302

    bug 
    opened by Chaoses-Ib 1
  • Install Razer drivers without installing Razer Synapse

    Install Razer drivers without installing Razer Synapse

    I also found that you can actually install the RzComDriver without Synapse. There are various logs generated by razer synapse and one of them is Manifest.log this contains an XML manifest of all software products from razer. I have a console app I wrote in c# that actually uses the C# API used by Razers software to download the same Manifest file.

    Within the Manifest, there is a link to the full Razer Synapse install (eg: https://cdn.razersynapse.com/1665042231FcnE6gEARazerSynapseSetup_v3.7.1015.100615.exe).

    This exe is in a format that can be extracted from and within the $PLUGINSDIR RzComDriver_vx.x.xx.x.exe exists which is the Razer Common Control Driver.

    image

    image

    Originally posted by @ChrisKader in https://github.com/Chaoses-Ib/IbInputSimulator/issues/6#issuecomment-1279871932

    enhancement 
    opened by Chaoses-Ib 2
  • awesome it bypass gameguard but how to controlsend?

    awesome it bypass gameguard but how to controlsend?

    im so amazed that it bypassed my gameguard for macro most of keystroke and clicks working 100% perfectly

    but can i ask how to controlsend(send keystroke to background) like this? ControlSend, ahk_parent, {F2}, ahk_exe choboApp.exe

    i tried this but i cant make it work IbSend("ControlSend, ahk_parent, {F2}, ahk_exe choboApp.exe")

    please help me.. thank you for awesome library!

    opened by kyloren23 1
Releases(v0.3)
Owner
Discord: Chaoses Ib#2060
null
Isocline is a pure C library that can be used as an alternative to the GNU readline library

Isocline: a portable readline alternative. Isocline is a pure C library that can be used as an alternative to the GNU readline library (latest release

Daan 136 Dec 30, 2022
A linux library to get the file path of the currently running shared library. Emulates use of Win32 GetModuleHandleEx/GetModuleFilename.

whereami A linux library to get the file path of the currently running shared library. Emulates use of Win32 GetModuleHandleEx/GetModuleFilename. usag

Blackle Morisanchetto 3 Sep 24, 2022
Command-line arguments parsing library.

argparse argparse - A command line arguments parsing library in C (compatible with C++). Description This module is inspired by parse-options.c (git)

Yecheng Fu 533 Dec 26, 2022
A cross platform C99 library to get cpu features at runtime.

cpu_features A cross-platform C library to retrieve CPU features (such as available instructions) at runtime. Table of Contents Design Rationale Code

Google 2.2k Dec 22, 2022
Library that solves the exact cover problem using Dancing Links, also known as DLX.

The DLX Library The DLX library The DLX library solves instances of the exact cover problem, using Dancing Links (Knuth’s Algorithm X). Also included

Ben Lynn 44 Dec 18, 2022
Standards compliant, fast, secure markdown processing library in C

Hoedown Hoedown is a revived fork of Sundown, the Markdown parser based on the original code of the Upskirt library by Natacha Porté. Features Fully s

Hoedown 923 Dec 27, 2022
CommonMark parsing and rendering library and program in C

cmark cmark is the C reference implementation of CommonMark, a rationalized version of Markdown syntax with a spec. (For the JavaScript reference impl

CommonMark 1.4k Jan 4, 2023
A cross-platform protocol library to communicate with iOS devices

libimobiledevice A library to communicate with services on iOS devices using native protocols. Features libimobiledevice is a cross-platform software

libimobiledevice 5.4k Dec 30, 2022
Platform independent Near Field Communication (NFC) library

*- * Free/Libre Near Field Communication (NFC) library * * Libnfc historical contributors: * Copyright (C) 2009 Roel Verdult * Copyright (C) 2009

null 1.4k Jan 5, 2023
A C library for parsing/normalizing street addresses around the world. Powered by statistical NLP and open geo data.

libpostal: international street address NLP libpostal is a C library for parsing/normalizing street addresses around the world using statistical NLP a

openvenues 3.6k Dec 27, 2022