I'm happy to see this write up. I have the same experience with this behavior and others, including the keyboard being (a) called when it shouldn't be and (b) vice-versa.
While writing up this article, I only just noticed that the Typescript playground [1] (that I referred to in the post) straight up does not work with Gboard in Firefox, because the keyboard never shows up.
I do not know why.
I get the same bug with Firefox and AnySoftKeyboard, so it might be Firefox's bug
If you first open one of the menus or press and hold to bring up the right click menu, and then you click on the text area, then the keyboard comes up.
A few years back I tried getting a related Gboard bug fixed and it was really frustrating getting the report to the right people. In the end, I did not manage it and what happened was after a long time the bug was fixed, probably due to some internal testing rather than the Gboard devs seeing my report :(
"Android 11 - Gboard not triggering Enter keypress event on <textarea> in Chrome when there are suggested words in the Gboard suggestion strip"
https://issues.chromium.org/issues/40738692
The first frustration was getting push back from every place I tried reporting it - Android bug tracker, Chromium bug tracker,... and of course there is no public Gboard bug tracker, the only option is the "Send feedback" option in modern Android OS on Google devices that I'm sure gets lost somewhere. While I do understand each of the mentioned bug trackers has its rules, I had to give it a try considering there is no other way to actually write a technical bug report and get any Google developer to notice it :(
My suggestion is that each Google product/app should have a public bug tracker of some type. A place where power users and developers can reach the corresponding Google teams more easily.
I sometimes get this feeling from open source projects too. They require you to be very specific and provide lots of info, understandably, but it zaps energy of the reporter. And then at the end turns out all was for naught, except that you learn you should have raised the issue in another repo or bugtracker. And worst is, when projects have the audacity to tell you to sign up to yet another forum service to report it to them. Nope. No energy left for that shit, maybe someone else will raise the issue then.
It's actually not a Gboard bug, but rather a side effect caused by a design choice of Gboard that Gboard tries to handle text editing in a normal text box by itself whenever possible. For example Gboard handles the delete key event by itself and delete the letter before the cursor directly instead of sending the delete key event to the app and rely on the app to delete the letter.
Gboard does it in this way for many reasons, but the side effect is that the app should not use a normal text box and expect to receive all key events. It's different than using a physical keyboard on a desktop/laptop computer. That said, do not expect a virtual keyboard to behave in the same way as a physical keyboard.
The workaround mentioned in the article makes sense. Another possible solution for apps that want to receive raw key events is to use a password input box instead of a normal text box.
> It's actually not a Gboard bug, but rather a side effect caused by a design choice of Gboard…
It’s definitely a bug, because the design choice they made breaks invariants and causes buggy behaviour in otherwise functioning code.
Otherwise it would be like saying “segfaulting randomly is actually not a bug, but rather a side effect caused by a design choice we made to have sloppy code and terrible memory management”.
Great writeup, always interesting to see people digging into issues like that in such detail. I work at Google and shared the article with the Gboard team. Thanks!
I haven't had to debug anything like this for a bit, although it's making me want to test some code I have that relies on keycodes in events. Which is hard enough to deal with at the input level across browsers without having to worry about it across freakin keyboards.
it is full of bugs. on my tablet on YouTube I can't leave comments until I have tapped 20 odd smiley faces and waited 20 seconds to 2 minutes.
Imagine if every bug report included such detailed steps to replicate, including a custom website to display those steps! An "average" bug report is usually on the other extreme of things :-/
Anyway, this may well be the finest bug report the team behind the Google keyboard has ever received, and I hope, as a reward, they actually fix the issue :-).
Good job!
I have little confidence that a bug report I make to a large company is read by anyone. Particularly when it's in a generic feedback form. That applies to feedback for Google products.
I suspect this post on HN is more likely to make its way back to a Gboard Developer than submitting feedback in the app.
A perfect bug report. I wish I was getting similar writeups instead of "sometimes doesn't work". Thank you!
My guess is that the difference in Keycodes, 229 and 2, could be due to gboard trying to delete the entire autocompleted word, instead of deleting one character at a time. But I could be wrong.
Seems like a pretty simple bug to address
Interesting bug with Gboard! It seems like the backspace key doesn’t work right on some websites because Gboard sends the wrong signal when autocomplete is on
Great job writing up the prognosis. I've experienced a few subtly nuanced Gboard and text input bugs on Android with quite unintuitive and frustrating symptoms (eg. keyboard not coming up when it should, copy/paste context menus not coming up after selecting a lot of text, etc). It's kind of pathetic when a platform can't even get text and the keyboard right.
If Gboard developer read this, consider add support for APL character set!
Not surprised. For an AI first company, Google keyboard swipe behavior is atrociously bad.
I'd genuinely love to hear which swipe-style keyboard has materially better accuracy.
I don't know if it's because I use my left hand or because I have ~~our~~ ~~or~~ ~~fault~~ fairly poor fine motor function, but I can't get through most sentences ~~with~~ without at least some ~~cordon~~ corrections. Most of the time the right option isn't even in ~~thy just~~ the list ~~is~~ of options.
I distinctly remember it used to be better and I didn't have to spend so much time backtracking.
Maybe on this phone it can't phone home properly and do it's learning.
I'm guessing parent was requesting an alternative that was demonstrably better rather than examples of how it's bad - and thus saying that GBoard is actually okay on this front, regardless of how actually usable it is.
For the record I'm with you, I WISH swiping was reliable but it's just so often so far off the mark. I remember it being better as well, but that was probably very early on in its use, when I was paying more attention to how I was swiping and going slower, as well.
> I'm guessing parent was requesting an alternative that was demonstrably better rather than examples of how it's bad - and thus saying that GBoard is actually okay on this front, regardless of how actually usable it is.
Yeah... this style of "polite" commentary ("Oh, you're claiming it's bad? Show me something that's better, smartypants!") drives me up the wall. Old farts might call it an offensive application of blowing sunshine up others' asses.
It's entirely possible for something to be both godawful and also be the only available option! People are well within their rights to complain about things that are godawful! [0]
[0] For the seeking-VC-funding crowd: If folks didn't complain, how would entrepreneurial-minded folks learn that there may be an opportunity to make money doing better?
Older versions of Google keyboard.
Aside from accuracy, I intermittently get a bug where the swipe gesture doesn't begin and I just end up typing one letter with each swipe. I can correct this state by dragging my finger around for about a full second or two, at which point the swipe trail reappears and starts working again.
Older Gboard (before it was called "Gboard" I think?) was quite excellent.
It started degrading badly for me around when it also started suggesting words that obviously came from the internet, e.g. stuff like "that" getting suggestions of "THAAAAAAAT", or current hyped brands I'd never heard of (much less typed out).
Same here, it is infuriating. It also isn't very good for languages which contract words such as Danish. In Swype I could hit backspace once to place the cursor at the end of the last word and then swipe to add another word after it, but Gboard just annoyingly insists on "correcting my mistake" and inserts the space back again. I have to manually type in individual letters of all contracted words when writing in Danish.
I really miss Swype. I have tried other keyboards but I have yet to find one that doesn't suck.
The original Swype.