Android to android conection
Is it possible that one phone is a hoster and can be controlled by other phone?
Not yet, see https://github.com/kitswas/VirtualGamePad-PC/issues/12#issuecomment-3135142730
This is exactly what I came here to request, It will be revolutionary.
I did a bit of preliminary research and here's what I found.
Let me know if I missed something.
Below are the ways to inject input on Android.
| Method | How It Works | Requires Root? | Play Store Possible? | Game Compatibility |
|---|---|---|---|---|
| 1. uinput (Root) | Creates a real virtual gamepad at the kernel level. (NDK) | Yes | No | Excellent. Works with all games. |
| 2. Accessibility | Simulates screen taps and gestures. (Kotlin/Java) | No | Yes | Poor. Only works for games with on-screen touch controls. |
| 3. InputManager | Injects events using the official API. (Kotlin/Java) | Effectively, yes. (Must be a system app). | No | Excellent. Works with all games. |
Samsung has a similar app which only works on Samsung TVs. The android.permission.INJECT_EVENTS permission required for 3 is available only to ROM developers (Google, Samsung, etc.)
Hence, true Gamepad injection is possible on rooted devices only. (e.g. The PC server uses uinput on Linux)
A server that uses Accessibility for input injection is possible, but expect a messy and limited experience.
Another option is a serverless setup using the BluetoothHidDevice API but it only works via Bluetooth.
VB Bluetooth Keyboard probably does this.
Yes. I was talking about using wireless connectivity.