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

This branch is 16 commits ahead of 1.2.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

90c2248 · May 7, 2024
May 7, 2024
May 7, 2024
May 7, 2024
Jul 30, 2017
May 11, 2020
May 7, 2024
Jun 23, 2023
Nov 10, 2021
May 11, 2020
May 7, 2024
Dec 12, 2013
Dec 12, 2013
May 7, 2024

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
USE_EPOCH_TIME:BOOL unix epch event times OFF
OSX USE_APPLICATION_SERVICES:BOOL framework ON
USE_IOKIT:BOOL framework ON
USE_APPKIT:BOOL obj-c api ON
Win32
Linux USE_EVDEV:BOOL generic input driver ON
*nix USE_XF86MISC:BOOL xfree86-misc extension OFF
USE_XINERAMA:BOOL xinerama library ON
USE_XRANDR:BOOL xrandt extension OFF
USE_XT:BOOL x toolkit extension ON

Usage