wooting-sdk 0.1.1

Rust bindings for the Wooting Analog and RGB SDKs!
Documentation
# rust-wooting-sdk
This crate provides Rust bindings to the Analog and RGB SDKs provided by Wooting for the Wooting
One and Wooting Two.

See the [documentation](https://docs.rs/wooting-sdk) for more information on usage and
prerequisites.

## Known issues
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.

## Prerequisites
In order to generate bindings for the SDKs using [bindgen][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.

### Windows
Download and install the official pre-built binary for `libclang` from the
[LLVM download page][llvm].

### Mac
If using Homebrew, run:

```text
brew install llvm
```

If using MacPorts, run:

```text
port install clang-3.9
```

### Linux
If running Ubuntu 16.10 or greater, run:

```text
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][llvm_apt].

If using any other distribution, then you'll just need to figure it out yourself.

[llvm]: http://releases.llvm.org/download.html
[llvm_apt]: http://apt.llvm.org/
[bindgen]: https://github.com/rust-lang/rust-bindgen

## License
All of the crates contained in this repo are licensed under both MIT and Apache 2.0. Both the
[Wooting Analog SDK][analog] and [Wooting RGB SDK][rgb] are licensed under MPL.

[analog]: https://github.com/WootingKb/wooting-analog-sdk
[rgb]: https://github.com/WootingKb/wooting-rgb-sdk

## Code of Conduct
All interactions on this repository (whether on issues, PRs, or elsewhere) are governed by the [Rust Code of Conduct](https://www.rust-lang.org/policies/code-of-conduct).