I hope to use my on-order Pocket Reform to shrink the weight of my traveling office. In particular, could it replace my portable mechanical keyboard?
Ideally, I would connect the Pocket Reform to another computer via USB-C and run a program that simulates a USB keyboard Device on the Reform, duplicating all keystrokes to the computer acting as USB Host. Usually, this is impossible without additional hardware: USB controllers on most laptops can only act as Host, not Device (I think).
But! According to the fact sheet for iMX8M+, the USB controller is “dual-role” which seems like it does exactly what I want: allow Pocket Reform to put a USB port into Device mode and simulate a keyboard attached to another computer in Host mode.
Some questions:
- Is this possible (in principle) with no additional hardware beyond an appropriate USB-C cable? This question is about the Pocket Reform SoM, which I have a very limited understanding of.
- What should I start reading to implement this, if it is possible? I have no experience whatsoever with linux kernel development, but preliminary searches suggest I should configure this HID gadget driver somehow. I can write simple C and Rust programs.
- Am I overlooking a better, no-internet and no-additional-hardware way to move text from my Pocket Reform to a broad range of devices? Maybe bluetooth would serve just as well? This idea for Pocket Reform is inspired by the AlphaSmart, which could “squirt” text to nearly anything by simulating a hardware keyboard.
Some general comments & context:
In the long run I hope my Pocket Reform will grow into a rock-solid portable “typewriter” — a durable and repairable device heavily optimized for text editing. I am willing to put in substantial effort to make this happen, because there are at least 25 more years of professional LaTeX writing and frequent travel left in my career (if I remain lucky).