Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

InputBridge

Controller input bridge used by The Science Team projects including Modular Physics Vehicles
(Redirected from Inputbridge)


InputBridge is a controller input translation tool developed and used by The Science Team. It converts input from physical devices such as gamepads, steering wheels, and flight controllers into OSC or WebSocket messages that can be consumed by Resonite systems.

While InputBridge is primarily used with Modular Physics Vehicles, it is a standalone application and is not limited to that system. It can also be adapted for other systems that require structured input streaming and haptic feedback communication.

Screenshot of the device page from the open source program InputBridge (v0.9.0) by The Science Team
Screenshot of the device page from the open source program InputBridge (v0.9.0) by The Science Team

Overview

InputBridge acts as a bridge between physical hardware and networked applications.

It provides:

  • Input capture from SDL3-compatible devices
  • Mapping of device inputs to logical control values
  • Network transmission via OSC or WebSocket
  • Optional support for haptic feedback output

The system is designed to separate hardware-specific input handling from application logic.

The Science Team ecosystem

InputBridge is part of a broader set of tools developed by The Science Team for advanced interaction systems in Resonite.

It is commonly used alongside:

Integration with Modular Physics Vehicles

InputBridge is used by Modular Physics Vehicles as a hardware input layer.

In this configuration, InputBridge is responsible for:

  • Reading controller input data
  • Normalizing device differences
  • Sending structured control data to Resonite via OSC or WebSocket
  • Receiving haptic feedback instructions from Modular Physics Vehicles when supported

Modular Physics Vehicles uses this data to drive vehicle behavior inside Resonite without requiring direct hardware integration.

Supported devices

InputBridge supports SDL3-compatible input devices, including:

  • Gamepads
  • Steering wheels
  • Flight sticks and HOTAS systems
  • Nintendo Joy-Con controllers
  • Steam Controller
  • PlayStation DualSense controllers

Depending on the device, supported inputs may include:

  • Analog axes such as steering, throttle, and brake
  • Buttons and switches
  • Gyroscope and accelerometer data
  • Touch input surfaces
  • Battery status

Output features vary by device and implementation and may include:

  • Rumble
  • Force feedback
  • LED indicators

Note: Adaptive trigger support is not currently implemented.

Configuration system

InputBridge uses a two-layer configuration model:

Device mappings
Define how physical inputs are interpreted and normalized
Protocol definitions
Define how mapped values are transmitted over OSC or WebSocket

This separation allows configurations to be reused across different applications and systems within The Science Team ecosystem.

Usage workflow

A typical usage setup is:

  1. Connect a supported input device
  2. Launch InputBridge
  3. Select or create a mapping profile
  4. Configure a communication protocol (OSC or WebSocket)
  5. Start a target application such as Modular Physics Vehicles in Resonite
  6. Ensure both systems are connected to the same endpoint

Once active, InputBridge continuously streams input data and optionally receives feedback commands.

Download and installation

InputBridge is an open-source tool hosted on GitHub. To install and run the application:

  1. Go to the official repository at marsmaantje/InputBridge on GitHub.
  2. Navigate to the Releases section on the right side of the page.
  3. Download the latest compiled version for your operating system.
  4. Extract the contents of the downloaded zip archive to a local folder.
  5. Run the `InputBridge` executable to begin configuring your devices.

For those looking to modify the application or contribute to its development, the source code can be cloned directly using Git: git clone https://github.com/marsmaantje/InputBridge.git

See also