Improved
v3.0.0-beta
NOTE: As with any major releases of this app, the best way to update to this version is to:
- update the app (do not open it after updating).
- reboot your device (this clears out any USB gadget configurations).
- you may now open the app (or not, whatever you want, my point is now you're in a good state), then you should be able to use it as normal.
Features
USB Gadget / Character Device Handling Improvements
- Refactor fragile shell scripts into Service that runs Kotlin code with root permissions, allowing for more complicated logic and such
- Add support for "Experimental Mode", which makes several experimental options available
- One experimental option is a button (under the Troubleshooting page) to delete the character devices. Be warned that some devices do not play nicely with this. For example, I patched my Pixel 5's kernel because it would kernel panic due to a use-after-free bug when deleting the character devices.
- The other category of experimental options is the "Device-Specific Quirks" sub-menu in the app's Settings page. Only use these if the app is not functioning as intended and believe one of the options could fix the issue for you. Ideally, you shouldn't need to touch them.
Touchpad Improvements
- Touchpad now presents itself to the connected device as an actual trackpad (not a mouse). This means the OS can handle things like gestures automatically. I removed the old code that made it present as a mouse, but if anyone wants that to remain an option for some reason, feel free to open an issue.
- Experimental "loopback mode" that makes the touchpad behave as if it's connected to your Android device. This can be used to control a cursor on a connected external display.
- Added "Fullscreen touchpad in landscape" option, which does exactly what it says
Other Changes
- Adjust padding on the main screen
- Reorganized the settings screen a bit
- Bump versions of many dependencies
- Many, many bug fixes
Full Changelog: https://github.com/Arian04/android-hid-client/compare/v2.3.0...v3.0.0-beta