I think the key point to efficient mobile linuxing is neither the hardware nor the basic software but the language input. I feel touchpads and mobile keyboards are both not handy to communicate with bash/vim in the subway. We need a better mobile keyboard for that. Does anybody know who's working on something in that direction?
How about a chording keyboard? Having one strapped to your thigh would be the wearables pioneer approach. The Twiddler3 is a modern one-handed keyboard product. There are also projected laser keyboards with a traditional layout; the projected keyboard takes up a fair amount of space and really needs a flat stable surface (not good for use on public transportation or while queueing) but the hardware is quite small.
I'm not a fan of the laser keyboards, but the chording keyboard looks nice. However, the thought of using either of those with Vim already makes my hands hurt...
I was trying to find a small Blackberry-like keyboard for a side project I was working on about a year ago. Doesn't exist, at least not in a form-factor that is easy to integrate (USB, Bluetooth, etc). The best I could find is a USB wireless keyboard that they sell on Adafruit that really, really, really sucked and was still way too big.
Boxee was one of the first to do a USB wireless keyboard in a nice form factor, though it is primarily a remote. They are tough to find, especially the 'sold separately' edition with the USB dongle (instead of de-soldering the receiver from a Boxee). Here's one on eBay: http://www.ebay.com/itm/111569863840
It's not about size, but about the idea behind it. The basic keyboard is designed for people sitting in front of a desk and using both hands. Making it smaller is just not enough. In the subway I have one finger, my thumb. I want an input device designed with that in mind. E.g. the iPod sliding wheel was exactly a result of designing an input device for a single finger. We need more like that and less blackberry keyboards.
My main computer now is a 7" Samsung Galaxy Tab 4 (Android) tablet. To work I use Juice SSH (Android app) to connect to a server (actually a Beaglebone Black in another state usually, sometimes my Linode). I use bash and vim in the ssh terminal.
I also have Debian Wheezy installed on this tablet through the GNURoot app so I can use vim and bash on here also. Although I really need to root it and use Linux Deploy or something because the new version of GNURoot has a lot of permission issues. Anyway ssh works great. I also have an X Server Android app if I want to run graphical Linux apps.
If I need to I can use an Android VNC client to connect to my Linode, but I don't usually need that.
As far as the keyboard, it works great. Its a little bluetooth keyboard plus folio case combo that I got for $20 from Walmart. Its my favorite keyboard ever. I am using it right now. I use vim all the time with this thing.
I'm typing this on a Frogpad now. Due to an injury I've used it as my main keyboard for years. Unfortunately the company is all but defunct and the layout is propriety. For years I've been meaning to write script to set the keyboard layout of a full size keyboard to it. That way I can stop paying hundreds whenever an old Frogpad appears on ebay.
I really wanted to try out the frogpad back when it was first released, but never bought one. If you handled the chording in software I imagine it wouldn't require wiring very different from what people use to make regular DIY keyboards: http://cubiq.org/build-your-very-own-pc-keyboard Given the heavy use of chording in a one handed keyboard, I'm guessing Topre keys might be a better choice than any Cherry MX variety.
true. that's why the way to go with portable is to put a beagle bone or a Chinese arm soc in a mechanical keyboard. add some small screen (though you will always use the bb video out or a makeshift gglass) and you got yourself a cyber punk deck, minus the neural interface :-(
You can also make your own EEG and train a classifier of your choice (heavily biasing the "do nothing" command) with sklearn or something. I've used off the shelf EEG's (emotiv epoc with the emokit library, there may be better options) to bind thought actions to moving a mouse, clicking, opening a web browser, but it was a bit noisy. I had to bind the act of clicking to the thought of a flavor, because it turned out I was thinking about "clicking" far before the mouse ever got to my intended destination. I didn't use it long enough to start thinking about the flavor before my mouse got there, but I'm curious if it would have turned into an arms race against my own mind eventually.
I don't have a lot of experience(nil) in EEG, but it seems like the way you're doing it is the "unnatural" way to progress. We move our body parts as if with no thought at all. It's more like we "will" them to move rather than think the command "move!" and they move for us. They're connected to a different part of our brain, lower on the cortical hierarchy.
Maybe you'd get better results if you instead pretended you physically were the computer, and the cursor was just an extremity that you could wave about and click with like one of your body parts. You'd bind the clicking and moving functions of the computer to this instead of verbal commands/thoughts.
Or maybe I'm misunderstanding how this all works, and it's already done like I described. :)
One way to use an ARM board inside a mechanical keyboard without a screen would be to use text-to--speech output through an earpiece, e.g. with the Speakup screen reader for Linux. But probably the only people who would want to use that are blind hackers. For that setup, a Raspberry Pi would probably be better than a BeagleBone Black, since the Pi has built-in analog audio output (though it's kind of crappy). I guess some of the Allwinner-based boards would work too.
Lenovo Mini Wireless Keyboard N5901 (it includes trackball with two buttons as well, so it's basically a mouse too) really amazed me. In my opinion, it's definitely worth checking out :-)
There's e.g. the Chordite project (a chording keyboard), with plans and software available for DIYers. It's been out there for many years already, but as "wearable computing" didn't catch up yet, it didn't either. See:
It does seem like a software problem to me. Most of what we do in the bash/vim isn't "typing text" per se, it's executing commands and configuring things. Those things can be solved in other ways that isn' as mush reliant on text input.
Examples would be great. Replacing vim with something more efficient on touch pads etc would also be interesting in my eyes (flow programming is something I would think about)