kwhat / Libuiohook
Licence: other
A multi-platform C library to provide global keyboard and mouse hooks from userland.
Stars: ✭ 237
Programming Languages
c
50402 projects - #5 most used programming language
Labels
Projects that are alternatives of or similar to Libuiohook
Avalonia
A cross platform XAML framework for .NET
Stars: ✭ 12,588 (+5211.39%)
Mutual labels: multi-platform
Portfusion
Haskell-powered cross-platform transport-layer distributed reverse / forward proxy & tunneling solution – currently available for all TCP protocols (RDP, VNC, HTTP(S), SSH, ...).
Stars: ✭ 177 (-25.32%)
Mutual labels: multi-platform
Cross Lib
CROSS LIB - A universal 8-bit library and some games built with it
Stars: ✭ 137 (-42.19%)
Mutual labels: multi-platform
Laravel Ecommerce
Laravel open source e-commerce system.
Stars: ✭ 163 (-31.22%)
Mutual labels: multi-platform
Magpie Luckydraw
🏅A fancy lucky-draw tool supporting multiple platforms💻(Mac/Linux/Windows/Web/Docker)
Stars: ✭ 179 (-24.47%)
Mutual labels: multi-platform
Cryengine
CRYENGINE is a powerful real-time game development platform created by Crytek.
Stars: ✭ 580 (+144.73%)
Mutual labels: multi-platform
Esenthelengine
Full Source of Esenthel Engine and its Tools
Stars: ✭ 204 (-13.92%)
Mutual labels: multi-platform
Mrboom Libretro
Mr.Boom is an 8 player Bomberman clone for RetroArch/Libretro
Stars: ✭ 162 (-31.65%)
Mutual labels: multi-platform
Saldl
A lightweight well-featured CLI downloader optimized for speed and early preview.
Stars: ✭ 203 (-14.35%)
Mutual labels: multi-platform
Awesome Kotlin Multiplatform
A curated list of Kotlin Multiplatform libraries & resources.
Stars: ✭ 142 (-40.08%)
Mutual labels: multi-platform
Engine
Cocos Creator is a complete package of game development tools and workflow, including a game engine, resource management, scene editing, game preview, debug and publish one project to multiple platforms.
Stars: ✭ 2,574 (+986.08%)
Mutual labels: multi-platform
3d Bat
3D Bounding Box Annotation Tool (3D-BAT) Point cloud and Image Labeling
Stars: ✭ 179 (-24.47%)
Mutual labels: multi-platform
Etlegacy
ET: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of the GPLv3 license.
Stars: ✭ 212 (-10.55%)
Mutual labels: multi-platform
Flaxengine
Flax Engine – multi-platform 3D game engine
Stars: ✭ 3,127 (+1219.41%)
Mutual labels: multi-platform
Kotatogram Desktop
Experimental Telegram Desktop fork.
Stars: ✭ 200 (-15.61%)
Mutual labels: multi-platform
libUIOHook: Cross-platform keyboard and mouse hooking from userland.
Compiling
Prerequisites:
- cmake
- gcc, clang or msvc
- x11 dependencies:
- libx11-dev
- libxtst-dev
- libxt-dev
- libxinerama-dev
- libx11-xcb-dev
- libxkbcommon-dev
- libxkbcommon-x11-dev
- libxkbfile-dev
$ git clone https://github.com/kwhat/libuiohook
$ cd uiohook
$ mkdir build && cd build
$ cmake -S .. -D BUILD_SHARED_LIBS=ON -D BUILD_DEMO=ON -DCMAKE_INSTALL_PREFIX=../dist
$ cmake --build . --parallel 2 --target install
Configuration
option | description | default | |
---|---|---|---|
all | BUILD_DEMO:BOOL | demo applications | OFF |
BUILD_SHARED_LIBS:BOOL | shared library | ON | |
ENABLE_TEST:BOOL | testing | OFF | |
OSX | USE_APPLICATION_SERVICES:BOOL | framework | ON |
USE_IOKIT:BOOL | framework | ON | |
USE_OBJC:BOOL | obj-c api | ON | |
USE_CARBON_LEGACY:BOOL | legacy framework | OFF | |
Win32 | |||
Linux | USE_EVDEV:BOOL | generic input driver | ON |
*nix | USE_XF86MISC:BOOL | xfree86-misc extension | OFF |
USE_XINERAMA:BOOL | xinerama library | ON | |
USE_XKB_COMMON:BOOL | xkbcommon extension | ON | |
USE_XKB_FILE:BOOL | xkb-file extension | ON | |
USE_XRANDR:BOOL | xrandt extension | OFF | |
USE_XRECORD_ASYNC:BOOL | xrecord async api | OFF | |
USE_XT:BOOL | x toolkit extension | ON | |
USE_XTEST:BOOL | xtest extension | ON |
Usage
- Hook Demo
- Async Hook Demo
- Event Post Demo
- Properties Demo
- Public Interface
- Please see the man pages for function documentation.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].