54 lines
1.6 KiB
Markdown
54 lines
1.6 KiB
Markdown
# osc-triggers
|
|
|
|
[![builds.sr.ht status](https://builds.sr.ht/~gmem/osc-triggers.svg)](https://builds.sr.ht/~gmem/osc-triggers?)
|
|
|
|
Easily map OSC events to keypresses.
|
|
|
|
## building
|
|
|
|
Nix is primarily used to build this applicaiton. [InputBot](https://github.com/obv-mikhail/InputBot) is used for keypresses and requires the following dependencies on Linux:
|
|
|
|
* **libx11-dev**
|
|
* **libxtst-dev**
|
|
* **libudev-dev**
|
|
* **libinput-dev**
|
|
|
|
It also requires running as root on Linux. For ✨ reasons ✨.
|
|
|
|
Without Nix, you can just build with the usual `cargo build`.
|
|
|
|
## configuration
|
|
|
|
Configuration is fairly straightforward, using TOML to make it human-friendly until a reasonable
|
|
user interface can be figured out. An optional value to match can be provided if you want to
|
|
trigger different keys for different values.
|
|
|
|
```toml
|
|
[[mapping]]
|
|
event = "/some/example"
|
|
key = "F24"
|
|
|
|
[[mapping]]
|
|
event = "/some/other/example"
|
|
key = "F23"
|
|
value = "0"
|
|
```
|
|
|
|
Events come from whatever OSC client you're using. This application is primarily targetting
|
|
VRChat but theoretically any will work.
|
|
|
|
Optionally the port the server runs on can be set.
|
|
|
|
```toml
|
|
[server]
|
|
port = 9090
|
|
```
|
|
|
|
The server will always bind to `127.0.0.1` / `localhost`.
|
|
|
|
## ci/cd & mirroring to github
|
|
|
|
Development of this primarily takes place over on [sourcehut](https://git.sr.ht/~gmem/osc-triggers). Pull requests and issues are welcome to GitHub though, and your patches will be commited
|
|
to sourcehut with proper attribution. The repository is mirrored to GitHub on push to leverage
|
|
GitHub Actions for releases. All other testing goes through sourcehut.
|