A library extender of the Lua API for Logitech G-HUB engine, that allows a user to create his own Lua CFunction / logic integration.
Context • Key Features • Todo List • Installation • How To Use • Credits • License
Note Support version 2024.8.641856 → 2025.2.687008 of Logitech G-Hub
Your version can be found from the Logitech G-HUB application in
Settings > About
The Logitech G-Hub is an application platform designed to integrate various Logitech devices, offering a centralized control interface for users to manage their connected hardware. This includes devices like keyboards, mice, speakers, and more, allowing for streamlined interaction and automation.
The Lua API provided by the Logitech G-Hub is a powerful tool that enables programmable control over these devices using the Lua scripting language. Every G-series Profile has a default Lua script bound to it which can be edited and customized. The script is invoked using an event handler, OnEvent. Users may examine the various events exposed in this handler to perform their desired actions.
The Lua version used is Lua 5.4 with methods or functions added by the Logitech G-Hub API.
Note Logitech Lua API can be found on this page.
- Integrate custom Lua C Function
- The user will be able to bound his own C function to the Lua enviroment.
- Hook LuaVM
- Add Pattern Matching to make auto-update of offsets
- Integrate Lua C API
- Documentation of the project
To clone and run this application, you'll need Git and CMake installed on your computer. Once you have CMake installed, you can clone the project using the following command:
cmake .Then, you need to build the project using the following command:
cmake --build .To use the project, you have 2 options:
- You can use the
build/launcher.exeto inject thebuild/lgextender.dllin the process namelghub_agent.exe. - You can use a DLL Injector to inject the
build/lgextender.dllin the process namelghub_agent.exe.
Note You can also use Process Hacker, right-click on the process, and select "Miscellaneous > Inject DLL" to inject the DLL.
- Application created by Erwan Mayolle.
- This readme is using the template created by amitmerchant1990.
MIT
GitHub @emayolle