Skip to content

v1993/evdevhook2

Repository files navigation

Cemuhook UDP server for devices with modern Linux drivers - successor to original evdevhook

GitHub Actions - Build Status

Static Badge AUR git package

Supported devices

  • Nintendo Switch Joy-Cons
  • Nintendo Switch Pro Controller
  • DualShock 3 controller (currently untested, feedback welcome)
  • DualShock 4 controller
  • DualSense controller

Configuration

No configuration is required to get started - just run the resulting binary and it will expose all supported controllers!

However, if you want to tweak controller orientations, run server on a different port, or use over four controllers at once by running multiple servers on different ports, it's possible to do so by providing a config file. See example config for syntax and full list of supported options.

Quick build guide

git clone https://github.com/v1993/evdevhook2.git
cd evdevhook2
meson setup --buildtype=release -Db_lto=true --prefix=/usr build
meson compile -C build
# Optional
meson install -C build

Updating

cd evdevhook2
git pull
meson subprojects update
meson compile -C build
# Optional
meson install -C build

Dependencies

  • libudev
  • libevdev
  • GLib 2.50+
  • zlib
  • Vala 0.56+ and libgee-0.8
  • meson
  • GCC/Clang

Optional:

  • UPower (runtime-only) - battery status reporting

On Ubuntu and derivative the following should do:

sudo apt-get install build-essential \
    libudev-dev libevdev-dev zlib1g-dev \
    valac libgee-0.8-dev \
    meson