About Real Mouse
Open the app on an external monitor or any secondary display listed in the developer options menu. The virtual trackpad appears instantly. You swipe, tap, and drag just like you would on a laptop touchpad. The cursor moves smoothly on the external screen. On the main phone display, the cursor does not behave the same way. Android puts a hard limit on how the cursor renders on the primary screen. That limit does not apply to secondary displays. The app talks directly to the /dev/uinput kernel module. That is the same pathway real input devices use. The system treats the phone's touch inputs as genuine mouse events. No Bluetooth pairing is required. No separate receiver dongle is needed. The phone becomes the mouse.
This approach bypasses the usual accessibility service methods that other apps rely on. Those methods often introduce lag or require complex setup procedures. Real Mouse cuts straight through to the kernel layer. The result is near-instant response on the external display. The trade-off is the main screen limitation. You cannot get the same smooth cursor on the phone's own screen. That is not a bug. It is an Android restriction that the developer explicitly acknowledges in the app description. For anyone using a phone with a desktop mode, external monitor, or HDMI mirror setup, this app fills a specific gap. It turns the phone into a usable pointing device without extra hardware.
Shizuku Changes the Game for Server Control
The version 1.3 update introduced Shizuku support. Shizuku is a tool that grants higher-level permissions to apps without requiring root access. With Shizuku running, starting and stopping the RealMouse server becomes much simpler. Previously, users had to rely on accessibility services or manual ADB commands. Those methods were inconsistent. The server would sometimes fail to start. Users reported the "server not running" error frequently. With Shizuku, the app can manage the server process more reliably. The permission model changes. The app requests permission through Shizuku's API. Once granted, the server starts with a single tap. This is a significant improvement for users who frequently switch between external displays and the phone's native interface. However, Shizuku itself requires an initial ADB setup. That setup involves connecting the phone to a computer and running a command. For the average user, that is a barrier. For tech-savvy users, it is a worthwhile trade-off for the stability gain.
How It Compares to Remote Mouse
Remote Mouse is the most direct competitor. It also turns a phone into a trackpad. But Remote Mouse relies on a companion server app installed on the computer. That adds complexity. Real Mouse does not require a separate computer server. It works entirely within the Android ecosystem. The target is external displays connected directly to the phone, not a separate PC. That is a fundamental difference. Remote Mouse is for controlling a computer over Wi-Fi. Real Mouse is for controlling the phone's own external display output. The use cases overlap but are not identical. A user connecting their phone to a USB-C monitor will find Real Mouse more relevant. A user controlling a laptop from across the room will prefer Remote Mouse. Real Mouse also uses the kernel module directly, which gives it lower latency than Remote Mouse's network-based approach. The trade-off is that Real Mouse only works with Android's display output. It does not work with Windows or Mac directly.
What Actually Changed in Version 1.3
The changelog for version 1.3 is brief. It states "Target Android 16" and "Bug fixes and improvements". That is the official line. The earlier version 1.1 added Android 13 support and Shizuku support. Version 1.3 seems to be a compatibility update for the latest Android release. There is no detailed list of fixed bugs. Users have reported crashes and server errors in the past. It is unclear if those specific issues were addressed. The overlay issue, where the control panel remains visible on the mirrored screen, remains a complaint. One user requested a feature to completely turn off the overlay. That request has not been implemented in the public changelog. The developer has not published detailed release notes beyond the generic "bug fixes". For a user evaluating the app, this lack of transparency is a drawback. You cannot know if the crash you experienced in version 1.1 is resolved in version 1.3 unless you test it yourself.
The app's direct kernel communication is its most distinctive trait. Most Android apps cannot access /dev/uinput without root privileges. Real Mouse manages this without root. The exact mechanism is not documented, but it appears to use a combination of system permissions and API calls that are available on standard Android builds. This is a risky approach. It could break with future Android updates. The fact that the app targets Android 16 suggests the developer is staying current. But the kernel interface could change at any time. Google has been tightening security around input injection. If that happens, Real Mouse would stop working entirely. For now, it works. The Shizuku integration provides a fallback. If the direct kernel method fails, the app can fall back to Shizuku's permission model. That dual-path approach gives it resilience. The overlay remains a problem. When you mirror the screen, the control panel shows up on the external display. That defeats the purpose of a clean mouse experience. The user requested a toggle to hide the overlay. That feature is not present. You have to live with the overlay or find a workaround.
Get File
App Specifications
| Latest Version | 1.3 |
| Uploaded by | ausp927 |
| Requires Android | Android 7.0+ |
| Category | Productivity |
| Content Rating | Rated for 3+ |
Technical Details
| Package Name | com.redlee90.realmouse |
| Languages | English |
| Architecture | arm64-v8a |
| Signature | 08a1ae6e2901fe0b263bdbfa33bc01f1dece6e941690ee5c7583b955018c6607 |
Security & Additional Info
| Scan Result | Secure |
| Package Name | com.redlee90.realmouse |
| SHA‑256 | 08a1ae6e2901fe0b263bdbfa33bc01f1dece6e941690ee5c7583b955018c6607 |
| SHA‑1 | e2e1b776cc37f50a4f6b676af0d36c61fd16358d |
| App Permissions | 0 |