In my previous post about gaze-directed Quikwriting I mentioned that the method should be well-suited to be mapped to a thumbstick. And indeed it is:
Using Vrui, implementing this was a piece of cake. Instead of modifying the existing Quikwrite tool, I created a new transformation tool that converts a two-axis analog joystick, e.g., a thumbstick on a game controller, to a virtual 6-DOF input device moving inside a flat square. Then, when binding the unmodified Quikwrite tool to that virtual input device, exactly the expected happens: the directions of the thumbstick translate 1:1 to the character selection regions of the Quikwrite square. I’m expecting that this new transformation tool will come in handy for other applications in the future, so that’s another benefit.
I was expecting that the stick-based Quikwrite tool would take longer getting used than the original device-based or the new gaze-directed one, but I was surprised by how easy it was to learn. I recorded the above video after playing with the new device/tool combo for the first time for about five minutes (and I did make some mistakes, but those didn’t break the flow).
This new stick-based binding is now a direct competitor to the text entry method in Steam’s “Big Picture” mode, so someone should do a fair head-to-head comparison between the two at some point. I’m expecting that they’re about the same speed, but that Quikwrite is less taxing because it doesn’t require button mashing. But that’s just a hunch.
And because this article doesn’t have an image to go with it, here’s today’s unrelated picture (see Figure 1).
I think after a bit of practice, a smaller deadzone might allow for much faster writing.
While it is a old project, you might want to look at Dasher:
http://www.inference.phy.cam.ac.uk/dasher/
Its a very fast text entry method, which is controlled by up/down motion to select and left/right to speed-up/slow-down entry speed. It uses a right to left scrolling method which characters scaled according to their probability. You can get quite fast with a little practice.
Using your thumb-pad you could make the ‘keyboard’ appear when thumb-pad is touched, with offsets controlling selection, etc.