Keyboard keybindings change depending on how the program was opened
TL;DR : the keybindings to enter/leave a category in the gnome-control-center
program should be more consistent, and should even be properly explained in the 'Hamburger menu' > Keyboard shortcuts section
.
The problem
The gnome-control-center
program has some sensible default keybindings to navigate the different categories and options. However, those controls seem to change depending on how the program was called. Let's look at two different invocations, and how they differ.
Setup
I am using gnome (latest version on arch linux, from community/core repos, not the AUR) on a laptop for work. My work has provided me with two external screens, and a small USB-C adapter. I have brought my Bluetooth mouse and USB keyboard from home, since it was a spare set I had laying around.
Most of the time, I use my laptop with the lid closed, connected to the two external screens and to the keyboard. Which means, I have to somehow activate Bluetooth using the keyboard only (since most of the time I forget to do it before closing the lid of the laptop).
For this, the search feature in gnome-shell
is pretty nice : I can simply type bluet[ooth]
in the search field and it'll take me there directly in the 'Settings' program, with the category already 'opened' (shown on the side panel). I can also directly search for the 'Settings' program and launch it from there, with no category selected. This is where the keyboard bindings differ. Let me explain.
Actual problem
If I open the 'Settings' program without pre-selecting a category :
-
<Up>
/<Down>
goes up and down the categories on the left panel, where a slight blue outline and a darker grey background indicates the category selected -
<Enter>
puts the cursor "into" the category :- in the case of Bluetooth, it highlights the enable/disable toggle, and Up/Down makes the highlight disappear from the window entirely
- pressing
<Enter>
again at this stage enables/disables the bluetooth radio on my laptop
If I open the 'Settings' program with a category selected from the gnome-shell
search function :
-
<Up>
/<Down>
goes up and down the categories on the left panel, where there is no slight blue outline (so somehow the selection is different), only a darker grey background which indicates the category selected -
<Enter>
does absolutely nothing, and there is no keybinding which seems to 'Select' a category to move the cursor over to enable/disable/change properties of that category. - this behaviour is exactly the same as if I launch 'Settings' directly, search for a category and 'select' it from the search result list (use
<Tab>
to go in the list,<Up>
/<Down>
to move, and<Enter>
to select a search result).
From this weirdly dissimilar behaviour, I think we can surmise two things :
- the full keybindings available in the program should be detailed in the
'Hamburger menu' > Keyboard Shortcuts
category, - those key bindings should be more consistent, no matter how the user go into this situation
In a second time, it would be nice to have some more keyboard shortcuts to enable a full-access to all the functionality of the gnome-control-center
program to users who might not have a mouse, but it's more of a nice-to-have than a necessity, and would be more fitting in an issue of its own, really.
Steps to reproduce:
- Open the overview in
gnome-shell
- If you type
settings
and launch thegnome-control-center
program :- Use
<Up>
/<Down>
to get to the 'Bluetooth' category - Try to 'get into' the category using your keyboard (
<Enter>
) - Notice the highlight moves over to the 'Enable/Disable' toggle button
- You can now toggle Bluetooth by pressing
<Enter>
again
- Use
- If you type
bluet[ooth]
and launch thegnome-control-center
program with the category 'Bluetooth' pre-selected :- Try to 'get into' the category using only the keyboard
- Notice it is impossible to access the 'Enable/Disable' toggle using only the keyboard
- Bluetooth cannot be toggled without closing the program and using the behaviour described in point
2
.
Expected behaviour : the key bindings from the keyboard should be the same regardless of how the program was invoked, or how the user previously interacted with it.
This behaviour is always reproducible on my end.