Engineer publishes procedure to optimize text input from gamepad



The character input method that is operated from the game pad, such as when naming a character in a game or in-game chat, has the advantage of being more compact than a PC keyboard, but has the drawback of being slow to type. To overcome this shortcoming, engineer Chris Frith has published a procedure for creating a gamepad input method and key layout optimized for text input.

Touch typing on a gamepad | darkshadow

https://darkshadow.io/2020/07/07/touch-typing-on-a-gamepad.html

◆Optimization of stick input
When constructing a typing system suitable for gamepads, Frith first optimized the stick input on the gamepad. The figure below visualizes how the left and right sticks of the game pad were input, the left side shows the state where the left stick is input upward, and the right side shows the neutral state where the right stick is not moving.



Stick input is performed by moving the stick in any direction and returning it to the center neutral state. Since vertical movement up, down, left and right is highly accurate, and input going diagonally is less accurate, Mr. Frith adopted only up, down, left and right input to improve the input efficiency of the stick.



Mr. Frith divided the input space of each stick into four as follows. Inputs that fall into the 0 area are recognized as the top input, 1 area as the right input, 2 area as the bottom input, and 3 area as the left input.



Then define a threshold to determine if the stick position is in neutral or if there is input. If it is inside the blue circle, it is neutral, so there is no input. If it is outside the blue circle, there is input. The radius of the blue circle is quite wide, but according to Mr. Frith, it was the most efficient radius in the experiment. Input is made each time the stick moves past the blue circle and away from the center, and is considered complete when the stick returns within the blue circle.



◆ Keyboard optimization
Frith then analyzed the frequency of each keystroke by recording all his keystrokes for several weeks to determine the optimal placement of the keys. In addition, Mr. Frith adopts a method of inputting with different cursors on the left and right sticks of the game pad.

Frith decided the arrangement order by investigating 'which character was frequently input after a certain character'. For example, when efficiently arranging 'e', 'o', 't', 'a', 'i', 's', 'j', and 'r', first measure the input frequency for each alphabet as shown in the figure below. .. The number written on the line connecting the alphabets indicates the input frequency.



The following figure shows only the combinations that are frequently input from the figure. According to Mr. Frith, especially high-frequency combinations such as 'e' and 'r' will improve input speed by placing them in positions that are easily accessed from the left stick and right stick.



Assign the order of placement with the left stick on the left and the right stick on the right as shown below.



Arrange the other keys based on the most frequent combinations. Frequent ones are on the top and infrequent ones are on the bottom. In this way, Mr. Frith arranged the entire alphabet in the position suitable for his own usage, and arranged the Shift, Ctrl, Alt, and Space keys on the trigger keys of the game pad to construct a unique keyboard layout.



According to Mr. Fris's input, customized stick input and game pad keyboard can be typed at about half the speed of keyboard in a few weeks of practice. For the convenience of input from the game pad, the thumb is the most burdened, so it is worth considering a design that does not burden the thumb.

Fris is writing an efficient typing system for gamepads mainly in Python, and the source code is available on GitHub.

GitHub-krisfris/pydov: Touch typing on a gamepad
https://github.com/krisfris/pydov

in Software,   Game, Posted by darkhorse_log