Remix.run Logo
MontyCarloHall 3 days ago

Smartphone keyboards dynamically adjust the "hitbox" of each key based on what's previously been typed and overall letter frequencies of the language. So when typing "Paris is the capital of Fr..." [*], the A key becomes much easier to hit than its neighbors. Fun fact: back in the day, when this tech was less refined, certain letter contexts made the hitboxes of some keys effectively nonexistent [0].

I wonder if an approach like KKeyboard with larger but statically combined keys leads to faster typing than the current approach with smaller but dynamically "combined" keys.

[*] In reality, the context is modeled using a simple Hidden Markov Model with a much smaller effective context window that could not associate "Paris" and "France." But you get the idea.

[0] https://forums.macrumors.com/threads/impossible-to-type-okee...

browningstreet 3 days ago | parent | next [-]

Not successfully though. Half the time I hit b or n in place of space. I can type numerous words before I notice. I've thought about just making a new iPhone keyboard app with just a big space bar.

The iPhone keyboard is the least successful tech I use each day.

mbirth 3 days ago | parent | next [-]

I did a fun experiment once to confirm it’s not me sausage-fingering but the stupid iOS keyboard. There’s an app called xKeyboard which lets you design your own keyboard. I remade the FITALY[0] keyboard in it and even though the keys are slightly smaller than on the original iOS keyboard, I can type without making any error. Yet the iOS keyboard often detects the wrong key because of those stupid hitboxes. I wish there was a way to turn them off.

[0] https://www.fitaly.com/fitaly/fitaly.htm

egypturnash 3 days ago | parent | prev [-]

godnyesninhatenthatnthenphonenhasnnonideanhowntonautocorrectnoutnofnwhatnmustnbenancommonnerrornatnall

rationalist 3 days ago | parent | prev | next [-]

I always make the same typos in Gboard. I don't know if they adjust the hotboxes based on common letter sequences, but it would be nice if they adjusted it based on people's typing performance.

xattt 2 days ago | parent | prev | next [-]

Interesting to note is how much typing accuracy decreases if you enable dual-language single-keyboard typing (e.g. Eng + Fr) on an iPhone, since targets end up having to account for two separate dictionaries.

walterbell 3 days ago | parent | prev | next [-]

Need Liquid Keys to make this behavior visible, which will lead to requests for turning it off, joining the iOS Accessibility Settings Hall of {F|Sh}ame.

QWERTYmini a day ago | parent | prev | next [-]

I’m not sure if this fully answers the question, but so far increasing the key size alone has worked well, with no noticeable hitbox issues.

QWERTYmini 3 days ago | parent | prev | next [-]

Thanks for the thoughtful point! Hitbox behavior is largely constrained by OS -level policies from the manufacturers, so major improvements on that side are difficult for now. At this stage, I'm mainly trying to evaluate the layout and the input method itself - and hopefully, in the future, issues like hitbox tuning can be improved as well.

rerdavies 3 days ago | parent [-]

Not it's not.

happymellon 2 days ago | parent | prev | next [-]

Unfortunately thats not correct.

https://m.youtube.com/watch?v=hksVvXONrIo

quamserena 3 days ago | parent | prev [-]

Omg I thought this was just me. How do I turn this off? On iOS, this has been bugging me for a long time.

devmor 3 days ago | parent | next [-]

I would love a way to turn it off as well, this is the source of the majority of my annoying typos.

sushisource 3 days ago | parent [-]

Seriously this explains so much. I thought I was going crazy, or just becoming an old man who can't type on a phone any more.

shakna 3 days ago | parent | prev [-]

There is no builtin setting in iOS to disable it. However most 3rd party keyboards don't have it, as implementing it without OS support is a huge pain.

nneonneo 3 days ago | parent [-]

Why is it hard? In principle you render an image instead of discrete buttons, and do your hit testing manually. Sure, it’s more annoying than just having your OS tell you what key got hit, but keyboard makers are doing way fancier stuff just fine (e.g. Swype).

shakna 2 days ago | parent [-]

Apple's keyboard receives more information, to put it simply. It doesn't get told that a touch was at a particular point, but the entire fuzzy area. Allowing you to use circular occlusion and other things to choose between side-by-side buttons and override the predictive behaviour when it is the wrong choice.

A third-party maker gets a single point - usually several in short succession, but still it requires more math to work out where the edges of the finger are pressing, to help determine which direction you're moving. So most just... Don't.

jrmg 2 days ago | parent [-]

Are you aware of the `majorRadius` and `majorRadiusTolerance` UITouch properties?

shakna 2 days ago | parent [-]

Apple's software gets the actual mapping matrix that those use.