Skip to content

A multi-platform C library to provide global keyboard and mouse hooks from userland.

License

Notifications You must be signed in to change notification settings

kwhat/libuiohook

Repository files navigation

libUIOHook: Cross-platform keyboard and mouse hooking from userland.

build-binaires

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 libuiohook
$ 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