Find a file
2023-04-25 16:46:21 +01:00
.builds Remove changed-paths Result prefix 2023-04-25 16:46:21 +01:00
.github/workflows Don't statically build binaries 2023-04-25 16:46:17 +01:00
src Ensure key is released properly 2023-04-25 16:46:18 +01:00
website Add plausible snippet to website 2023-04-25 16:46:13 +01:00
.envrc Initial commit 2023-04-25 16:44:56 +01:00
.gitignore Initial commit 2023-04-25 16:44:56 +01:00
Cargo.lock Additional logging, translate other keys 2023-04-25 16:45:54 +01:00
Cargo.toml Additional logging, translate other keys 2023-04-25 16:45:54 +01:00
config.toml Correct VRChat example event 2023-04-25 16:45:56 +01:00
flake.lock Tweaking flake 2023-04-25 16:45:57 +01:00
flake.nix Tweaking flake 2023-04-25 16:45:57 +01:00
LICENSE Initial commit 2023-04-25 16:44:56 +01:00
README.md Add mirror CI 2023-04-25 16:46:04 +01:00

osc-triggers

builds.sr.ht status

Easily map OSC events to keypresses.

building

Nix is primarily used to build this applicaiton. 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.

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

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