Steam Controller Android
Developed by @SonicDX12
Steam Controller for Android connects the Valve Ibex gamepad to your device via USB OTG or Bluetooth LE. By leveraging Shizuku, it bypasses standard input limitations, exposing the hardware as a native Xbox or PlayStation controller for comprehensive mobile gaming and Android TV usage.
Technical Overview
The application parses the proprietary HID protocol (report 0x45) natively and translates it into standard gamepad profiles. It utilizes Shizuku's UserService to run as the shell user (UID 2000), writing directly to the Linux /dev/uinput node to create a genuine InputDevice recognized by the Android OS.
Core Features of Steam Controller
- Hardware Emulation: Maps inputs to five distinct profiles including Xbox 360, DualSense, and a dedicated Desktop mouse/keyboard mode.
- Game Profiles: Saves button layouts and calibration data to automatically switch configurations upon detecting specific foreground applications.
- Live Calibration: Offers per-stick dead zone adjustments, Y-axis inversion, and custom button routing using official Steam Input icons.
- Dual Transport: Maintains connections through direct Bluetooth LE with high-priority intervals or wired USB OTG setups.
Compatibility & Quick Setup
Requires Android 8.0 or newer — install the APK, pair via Bluetooth or USB OTG, and grant Shizuku permission to enable native Linux uinput access.
Disclaimer: Access to /dev/uinput relies on your device's SELinux policy, and Shizuku requires manual reactivation after every system reboot.