ddvk / remarkable-hacks

additional functionality via binary patching
MIT License
1.65k stars 82 forks source link

Support for REST/WebSocket keyboards (use any device as a TypeFolio emulator) #536

Open mdrejhon opened 1 week ago

mdrejhon commented 1 week ago

Mimiuchi runs in any web browser, and can transmit real-time typing over REST/WebSocket requests now.

https://github.com/naeruru/mimiuchi/issues/40

A tiny utility could allow any browser-capable device to become a TypeFolio emulator, and add voice dictation OR real-time typing to any Remarkable2.

  1. [Done] Connect your phone to same WiFi network
  2. [Done] Run mimiuchi on your phone
  3. [Done] mimiuchi can act as a WiFi keyboard
  4. [Done] mimiuchi configured to send WebSocket/REST to the IP of your RM2
  5. [This Issue as Feature Enhancement] Create a tiny utility to listen to these WebSocket/REST packets for keypresses/dictation text, and turn them into simulated keypresses.

Voila! Any browser-capable device can double as a TypeFolio simulator.

You can still use a Bluetooth keyboard, the phone (running mimiuchi) just becomes a bridge between RM2 and your Bluetooth keyboard. Sweet bonus, you can dictate into your RM2 this way too!

Eeems commented 1 week ago

This would be out of scope for ddvk-hacks. You are already able to just write a little bit of software to pipe events over the network and then write them out to a uevent keyboard device and xochitl would pick them up.

mdrejhon commented 1 week ago

Oh!

I may try to do that. If it's just a 100-line daemon I can write.

I only need to code for RM2 only!

Browser-Based WiFi Keyboard Client Is Now Off-The-Shelf

The neat thing is that this is an off-the-shelf WebSocket/REST keyboard already running on the web at https://www.mimiuchi.com (the realtime commit isn't there yet, but you can still line-keyboard or dictate)... You can enter localhost or intranet IP's into its settings. Everytime you speak or type into it, it transmits REST or WebSocket (configurable IP).

Once the https://github.com/naeruru/mimiuchi/issues/40 commit is there, the web keyboard has 3 modes:

I would only need to write a util only for RM2, no need to write software for client keyboards. Just load the mimiuchi website and boom, remote-browser-as-keyboard. It can just be a smartphone running as a bridge.

Screenshot 2024-09-06 at 7 26 21 PM

(That's stock mimiuchi. Or I can modify the open source mimiuchi locally in a mode that runs minimized, so the "keyboard bridge" phone can stay in my pocket or with its screen off. I start typing on a Bluetooth keyboard and the keys appears on RM2. Or enable the dictation mode on the phone, to speak into my RM2 successfully)

You may close this item (after a discussion grace period?), or tell me which RM2 hack community to move this to.

I might Assignee myself. Just tell me whose project to move this to, or if I should go standalone.