This crate provides Rust bindings to the Analog and RGB SDKs provided by Wooting for the Wooting One and Wooting Two.
See the documentation for more information on usage and prerequisites.
This repository currently uses a fork of the Wooting SDKs that allow them to be built on Linux and
that add partial support for the Wooting Two (direct_set_key
will not work for the numpad keys).
As soon as an updated version of the SDK is made available, this crate will switch to use it.
In order to generate bindings for the SDKs using bindgen, wooting-analog-sdk-sys
and
wooting-rgb-sdk-sys
require libclang
. If the submodules for the SDKs are not cloned, then the
build scripts will attempt to clone them, in this case, git
is required. When building the SDKs,
libusb
or libudev
will be required for the SDKs' hidapi
dependency on Linux, these are
expected to exist.
Download and install the official pre-built binary for libclang
from the
LLVM download page.
If using Homebrew, run:
brew install llvm
If using MacPorts, run:
port install clang-3.9
If running Ubuntu 16.10 or greater, run:
apt install llvm-3.9-dev libclang-3.9-dev clang-3.9 libusb-1.0.0-dev libusb-1.0.0
If running a version earlier than Ubuntu 16.10, then you may need to use the LLVM apt repositories.
If using any other distribution, then you'll just need to figure it out yourself.
All of the crates contained in this repo are licensed under both MIT and Apache 2.0. Both the Wooting Analog SDK and Wooting RGB SDK are licensed under MPL.
All interactions on this repository (whether on issues, PRs, or elsewhere) are governed by the Rust Code of Conduct.