from Hacker News

Show HN: Rad Type - Can we make gamepad typing fast?

by tyleo on 4/29/25, 1:40 AM with 37 comments

  • by KMnO4 on 4/29/25, 2:49 AM

    When the iPhone first launched, it had to pull a lot of weight to convince people that a touchscreen keyboard could work as well as physical keys. One of the tricks it used was to predict the next letter and invisibly adjust the hitbox of each key.

    If you type “h” and then hit the space between “w” and “e”, it will assume you wanted “e” and register that.

    This could easily be implemented by dynamically adjusting the ranges where a letter can be selected from the joystick. You don’t even need to render it differently; just adjust which letter registers at a particular angle.

  • by harrall on 4/29/25, 5:39 AM

    It’s cool that I kind of knew where each letter was going to be.

    I actually liked typing on the YouTube app on the PS4 controller. Wasn’t super fast but was one of the fastest typing on the controller for me.

    I find one limitation of typing speed is sometimes the input rate that a device picks up presses is so low. I can get 75 WPM on an iPhone but I can barely type my phone number into Target self-checkout because it picks up presses so slowly. Roku input is also really slow. Yet I can absolutely rip on my grocery store credit card keypad.

  • by tmtvl on 4/29/25, 8:47 AM

    Steam used to have the Daisy Wheel input method (someone made a JavaScript(TM) port here: https://github.com/likethemammal/daisywheeljs), which I recall being very good in practise.

    For Rad Type, I'm curious whether if basing it on Dvorak or Workman or something rather than QWERTY would improve it.

    For issue #2 which is raised I would suggest using D-Pad Up for capitalisation and D-Pad Left and Right to switch between keyboards. The number row contains 13 keys with 2 characters each, so that's 26 characters just like the alphabet, which maps perfectly. The other special characters on a standard QWERTY keyboard are located on just 8 keys, for a total of 16 characters, which would work fine as a third keyboard.

  • by stolksdorf on 4/29/25, 4:01 AM

    Really great stuff, having demos for the progressions was a very nice touch

    I had some ideas/modifications, so I sketched up a version in autohotkey and really liked playing around with it for a bit:

    -> Pressing in the joystick also switches to alt mode, instead of having a separate button. Works really well, just need to tune the timing/tolerances a bit. It felt way more intuitive.

    -> Right bumper => space, Left Bumper => backspace

    -> Right Trigger fully down => jumps cursor to start of next word (left trigger start of prev).

    -> Right Trigger partially down => moves cursor that much to start of next word (eg. half way down, halfway through current word)

    -> Holding a trigger down while using the other one selects the text. This one is a bit awkward to use, needing to "undo" the initial press and not really having a way to unselect if you selected too much. Will need more experimentation to see if it's a good idea.

    This leaves the buttons available for new line, key swap (numbers, symbols, etc.), confirm/exit; And dpad for direct arrow key control.

    Thanks for sharing!

    Bug Report: I could not get the Gamepad Mapping Settings to work. No changes registered, no errors in dev console. Win10 chrome.

  • by re on 4/29/25, 3:47 AM

    The locations of letters on the "clocks" is clearly QWERTY-inspired, but it seems like D and V should be swapped to be more faithful to that. I wonder if different layouts (like a more alphabetical ordering) were tested as well—I was expecting to see some details in the blog post how this particular arrangement was selected.
  • by pests on 4/29/25, 5:34 AM

    Slightly OT, just to rant about input methods a bit.

    This looks great. The lag in on screen keyboards have really been annoying me lately.

    Youtube, Prime, Max all have issues on multiple devices (chromecast tv, ps5 - I guess semi on topic since it’s a game pad) where if you move the cursor too fast there a delay where the letter typed is after youve already moved and you type gibberish. I have to pause now on each letter before moving on to the next to ensure it registered correctly.

  • by spongebobstoes on 4/29/25, 4:48 AM

    There is a similar thing in the consoleport addon for world of warcraft since 2015! It supports multiple locales too.

    This is the best animation I can find of it: https://imgur.com/how-text-chat-on-consoles-shoud-work-wow-c...

  • by svarrall on 4/29/25, 2:40 AM

    Be good to get some numbers to compare input speed/accuracy of the different variations.

    Reminded me of the Nokia 3600/3650 [1] with its radial button layout.

    Wonder if a similar concept would allow input with only one stick.

    [1] https://en.m.wikipedia.org/wiki/Nokia_3650

  • by ivape on 4/29/25, 4:16 AM

    I'm of the opinion that typing is now an accessibility feature. If you can speak and the computer can interpret near instantaneously, then you have a gift some others don't. Obviously, like all things, we take it for granted. Not taking away anything from the OP, this is a great thing.
  • by CasperH2O on 4/29/25, 4:49 AM

    This is really quite interesting, would like to integrate this into the open source application Handheld Companion [1].

    [1] https://github.com/Valkirie/HandheldCompanion

  • by MetaMonk on 4/29/25, 2:50 AM

    Someone's been raiding inputs from Perlin's page

    https://mrl.cs.nyu.edu/~perlin/experiments/quikwriting/

  • by catapart on 4/29/25, 2:38 AM

    I like this!

    Modifying the final version, I'd really like the delete button moved 180 degrees around the right circle, and a second space button put in its place. But, other than that, it felt pretty natural to type on, using a phone touchscreen.

  • by madmod on 4/29/25, 8:15 AM

    Reminds me of the many hombrew input methods on the PSP. There was at least one fairly popular homebrew keyboard using the joysticks like this which was embedded in a number of apps.
  • by tyleo on 4/29/25, 2:02 AM

    The interface is pretty good on touch too. I have a feeling that a radial input like this can also benefit phone because your thumb is equidistant from every character.
  • by 0cf8612b2e1e on 4/29/25, 2:31 AM

    Am I crazy or was this a thing on the Stream controller?
  • by socalgal2 on 4/29/25, 3:15 AM

    How do I enter non ASCII or accented characters?
  • by atrus on 4/29/25, 2:37 AM

    This is neat! The final version even leaves plenty of room for additional punctuation, or have even more layers.
  • by georgewsinger on 4/29/25, 2:53 AM

    What kinds of speed can be achieved, in terms of words per per minute?