reMarkable Mouse & Keyboard

Have you ever wondered if you could use your reMarkable tablet as more than just a digital notepad? I certainly did, and that curiosity led me to create a toolkit that transforms your reMarkable into both a virtual mouse and keyboard for your Linux desktop!

The project consists of two Python tools that work in tandem or independently. The reMarkable Mouse creates a virtual input device that translates pen movements and touches into precise mouse events, while the reMarkable Keyboard brings full Type Folio keyboard functionality to your desktop. The combination is surprisingly natural to use - you can hover the pen above the tablet surface to move the cursor, touch to click, and type normally on the Type Folio, all while your reMarkable seamlessly integrates with your Linux workflow.

Under the hood, both tools work by establishing an SSH connection to your reMarkable tablet and reading input events in real-time. The mouse tool reads pen input from /dev/input/event1 and creates a virtual mouse device that translates tablet coordinates to screen coordinates with proper aspect ratio preservation. The keyboard tool monitors /dev/input/event3 for Type Folio events and forwards them directly to a virtual keyboard device. What I find particularly neat is that the default orientation is now flipped to work perfectly with the Type Folio - no more awkward hand positioning!

The experience feels surprisingly responsive, whether you're using it for presentations, digital art, or just as a unique input method. I've tested it extensively on both Wayland and X11 under Ubuntu, and it works great with the reMarkable 2 (the keyboard functionality obviously requires the Type Folio for reMarkable 2). The SSH connection over USB provides the best performance, but WiFi works perfectly fine too for most use cases.

You can find the complete toolkit on GitHub with detailed installation instructions, usage examples, and all the source code. Installation is straightforward - just download the scripts or clone the repository, install python3-evdev, and you're ready to go. I've included various configuration options for sensitivity, scaling, and orientation to make it work perfectly with your setup.