Saturday, March 25, 2023

DON'T switch language on Shift+Space on Android Tablets (The Sticky Shift Key that Isn't Sticky!)

Datatalk.

Here's a nice and troublesome one. When you use an external keyboard with a tablet, such as the Logitech K380 together with the Samsung Tab S6 Lite, you may suffer from spontaneous 'language switches', which seem to eat up spaces when typing.

Don't throw away your external keyboard yet. There might be a solution. (I also found some other issues with the Samsung keyboard driver when trying to figure this out. Read on.)


The Problem

I did not have this problem in the past, so I think an update on either Samsung or Android side has caused this, or at least increased it. I also only suffer from this problem on my Android + K380 combo.

Symptom: you're typing fast, and suddenly (if you pay attention) the language selector pops up, and you accidentally switch to the next language. It doesn't happen when you type slowly, only if you're banging away. It typically happens every time you use captitals, and mostly when typing the 'I', and you have a habit of hitting the space bar mostly with your right thumb, in a fast [Shift] [I] [Release Shift] [Space] sequence.

This typically happens when using Gboard with an external keyboard.


Root Cause

Your thick fingers. You're not releasing the shift key fast enough. Although, to be honest, it never haunted me in the past with the same setup, so I suspect something changed on the Samsung or Android side, increasing the problem. There is a workaround though...


Keyboard Settings

First switch off your K380 or other BlueTooth keyboard. It may confuse your tablet.

In the Galaxy Tab S6 Lite there is the following menu entry under Settings / General Management (it most likely will look different on your tablet / Android version):


The first thing that threw me off is the sequence of options. The 'Gboard settings' entry configures the default keyboard, whilst the line below is used to select what is the default keyboard. So, you first use the bottom option, before changing settings with the top option. Makes perfect sense, right? Nope, but it's the way it is...

Here's the same screen, after setting my Samsung Keyboard as default: (click on any image to enlarge)


No matter, first go to Settings / General Management / Keyboard List & Default.


Then set the default keyboard of your choice (I typically prefer Gboard).

Also, set the option 'Keyboard on Navigation Bar' to 'On'. You'll need this one!


Broken Samsung 'Labs' function in the Keyboard Settings

The Samsung keyboard driver has a fancy feature that does all sorts of things, but ends up messing up your screen and doesn't cooperate with some websites. I suggest you immediately switch it off. (It was on by default on my tablet.)

Symptom: some websites don't let you enter characters in text boxes, for example Discord.
Solution: go to Settings / General Management / Keyboard List And Default, then in the section 'All' select 'Samsung Keyboard'.

The options page for the Samsung Keyboard comes up. Disable anything predictive, if you can, then select 'More Typing Options'.

At the bottom you will find 'Enhanced Accuracy'. Toggle it OFF. This is what messes up your Discord page and other sites (and does some other things when browsing etcetera).


Physical Keyboard

Something funny is going on inside Android when you select a physical keyboard. Some of the options you used for your 'screen keyboard' well be used by the physical keyboard, but not always. It's all very confusing. Let's not break our brains and simply use what works...

Go to Settings / General Management / Physical Keyboard. Now on my Galaxy Tab I get the following screen. Pay especially attention to the third option under Keyboard Assistance:



See that second option? Great! You can tell Android to ignore Shift+Space!

Except that it doesn't work... If you have Gboard as your default keyboard, and disable Shift+Space, then whenever you use Shift+Space on an external keyboard it will still eat up your space and switch language!!!



Work-Around

So here's the workaround. Previously we selected Gboard as our default Keyboard. Here we've told our tablet to ignore Shift+Space, but Gboard is ignoring our setting. However, the Samsung Keyboard does respect it. Now we have two options:

A. We disable the Shift+Space and use the Samsung Keyboard as default. This makes sense if we mostly use a physical keyboard and don't care too much about the on-screen keyboard.

... or...

B. We disable the Shift+Space, use the Gboard keyboard as default, and switch to the Samsung keyboard whenever we use a physical keyboard.


I prefer option B. So, if we enabled 'Settings / General Management / Keyboard List & Default / Keyboard Button on Navigation Bar' then there will be a little icon on the right-hand bottom. Tap it and switch to Samsung Keyboard.



Now switch on your BlueTooth keyboard, and (because it now uses the Samsung Keyboard driver) it now respects our setting regarding the Shift+Space usage.

In practice, I use my on-screen and external keyboard wherever I want. If I want to type some massive text (perhaps working on my next novel, who knows) I...

1. Disable my physical keyboard (on the K380 I select another BT device with the F1 F2 F3 keys, or simply switch it off)

2. Select a text field and type anything on-screen (if the on-screen keyboard hasn't popped up yet)

3. Tap the 'Keyboard button' mentioned above.

4. Pick Samsung Keyboard

5. Switch my BT device back on (or return to the tablet with F1 F2 F3)

6. ... and finally start banging away.


It sounds like a lot of work, but in practice it's fine.


Alternatives

Here's option C. Buy another BT keyboard. A full-sized, full-travel keyboard like the Logitech MX series is less sensitive to the issue.

(Don't buy a Logitech K480. The first generation was fantastic, the second generation is an utter piece of spongy crap.)


And finally, option D. Convince Google and / or Samsung to make ALL keyboard drivers respect that one option: don't switch language when pressing Shift+Space!


No comments:

Post a Comment