Something to do with game controllers!
Omnishock currently supports communicating with a Teensy 2.0, running either:
- Aaron Clovsky's
teensy-firmware
for PS2 Bluetooth Adapter
Supports analog button inputs and force feedback. Source available under GPL2 or later. - Johnny Chung Lee's Teensy PS2 Controller Sim Firmware
Fast & simple. Omnishock has been tested with v2. Source is public but unlicensed.
Support for more hardware, and more firmware variants, is planned for the future.
- Rust
- SDL2 (v2.0.9 or later)
- Controller emulator hardware (see above)
SDL2 has broad support for many types of USB and Bluetooth gamepads on macOS, however, for Xbox 360 controllers, and for better support for Xbox One controllers, you will likely want the 360Controller driver.
The version of sdl2 currently in the Debian package library is quite old (it's version 2.0.5 as of writing), so if you have trouble using certain gamepads (like the Xbox Wireless Controller, for instance), you will need to build sdl from source.
You'll likely need either permissive udev
rules for your USB gamepads, or to make sure your user is in the input
group. You can add your user account to the input
group with the command sudo usermod --append --groups input $(whoami)
.
For more information specific to setting up gamepads on Linux, I recommend checking out this article on the Arch Wiki.
git clone --recurse-submodules https://github.com/ticky/omnishock.git omnishock && cd omnishock
cargo build --release
cargo run --release
- Make sure both
.travis.tml
andappveyor.yml
are specifying the same Rust versions - Ensure that both files' deploy conditions are using that Rust version
- Tag & sign a version with
git tag -a -s [version]
- Push the tag to GitHub, and watch Travis and AppVeyor cut a build