BikeControl
Do virtual gear shifting (and more) in any rider app
BikeControl is a cross-platform tool aimed at enabling control of trainer apps (cycling/indoor training apps) using hardware controllers such as bike shifters, dedicated remotes (e.g. Zwift Click, Zwift Ride, Zwift Play), gamepads, or even generic Bluetooth HID devices. Instead of connecting to the trainer directly, BikeControl acts as a bridge: when you press a button or lever on your controller, it intercepts the input and simulates corresponding keyboard/mouse/touch events for your trainer application. This allows you to perform actions like virtual gear shifting, steering, changing workout intensity, controlling music, etc., even if the trainer app doesn’t natively support those controllers. It works on different platforms: on Android, it uses the AccessibilityService API to send simulated touches to whatever app window is active; on desktop (Windows/macOS), it can emulate key/mouse input via configurable keymaps so users can tailor controls.