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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d60dc93 · Apr 28, 2022
Mar 17, 2022
Mar 18, 2022
Mar 17, 2022
Jul 30, 2017
May 11, 2020
Apr 28, 2022
Mar 17, 2022
Nov 10, 2021
May 11, 2020
Apr 23, 2022
Dec 12, 2013
Dec 12, 2013
Oct 20, 2020

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