After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 652646 - need preferences for on-screen keyboard
need preferences for on-screen keyboard
Status: RESOLVED FIXED
Product: gnome-control-center
Classification: Core
Component: Keyboard
git master
Other Linux
: Normal normal
: ---
Assigned To: Control-Center Maintainers
Control-Center Maintainers
Depends on: 612662 658013
Blocks:
 
 
Reported: 2011-06-15 13:28 UTC by Dan Winship
Modified: 2011-09-19 12:09 UTC
See Also:
GNOME target: 3.2
GNOME version: ---



Description Dan Winship 2011-06-15 13:28:05 UTC
gnome-shell 3.2 will have an on-screen keyboard. We need preferences for that.

At a minimum, a checkbox for whether or not it's ever used. Not sure what else.

Yes, this bug is too vague at the moment.
Comment 1 Matthias Clasen 2011-06-16 21:06:05 UTC
On a very high level, shouldn't the osk just be automatically turned on if there is no real keyboard ?
Comment 2 Bastien Nocera 2011-06-19 21:38:56 UTC
(In reply to comment #1)
> On a very high level, shouldn't the osk just be automatically turned on if
> there is no real keyboard ?

Yep. We can control that through gnome-settings-daemon (which already has policy for whether or not to show a cursor). Detecting keyboards will be a bit harder though, we need to ignore a whole range of "platform" keyboards (ACPI keys, laptop specific garbage, etc.), we also need to ignore infra-red remotes that don't have the necessary buttons, etc.

More work than detecting mice, but, again, this is for touchscreen devices. For a11y purposes, we probably need to find other heuristics.
Comment 3 Dan Winship 2011-07-07 14:47:50 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > On a very high level, shouldn't the osk just be automatically turned on if
> > there is no real keyboard ?
> 
> Yep. We can control that through gnome-settings-daemon (which already has
> policy for whether or not to show a cursor). Detecting keyboards will be a bit
> harder though, we need to ignore a whole range of "platform" keyboards (ACPI
> keys, laptop specific garbage, etc.), we also need to ignore infra-red remotes
> that don't have the necessary buttons, etc.

Hm...

    - "real" keyboards have lots of keys, "fake" keyboards have few.
      (The Happy Hacking keyboard is probably a minimal "real" keyboard,
      and it has 60 keys. The "ThinkPad Extra Buttons" device on my
      laptop has 31 keys.)

    - "real" keyboards have certain specific keysyms on them that "fake"
      keyboards don't. (Like what? "1"? "A"? "Shift"? "Tab"?)


However, note that the ExoPC has a "AT Translated Set 2 keyboard" device even when there's no keyboard plugged in...


Also, in addition to the "no keyboard at all" case, there's also the "laptop is flipped into tablet mode and has no external keyboard" case. Pretty sure there's an ACPI switch indicating "tablet mode"?


> More work than detecting mice, but, again, this is for touchscreen devices.

Having an explicit "touchscreen present" indication would be useful too; we may want the osk to default to "attached to the bottom of the screen" if there is a touchscreen, but default to "floating" if not.
Comment 4 William Jon McCann 2011-07-07 18:41:59 UTC
The Keyboard settings panel is for a physical keyboard I think and shouldn't really be present on tablets. I think this is more of Universal Access isn't it?
Comment 5 Bastien Nocera 2011-08-03 14:58:36 UTC
I'd have 2 options:
1) it's a tablet -> always show the OSK
2) provide toggle in universal access

The heuristics in 1) would live in gnome-settings-daemon (I'm thinking has_touchscreen && has_accelerometer == is_tablet). This would toggle 2 GSettings keys under org.gnome.desktop.a11y.applications:
- screen-keyboard-togglable boolean
  Whether the OSK can be turned off (in case 1) FALSE, in case 2) TRUE)
- screen-keyboard-enabled
  Whether the OSK is on (in case 1) TRUE, in case 2) show the switch in gnome-shell, or show it sensitive)

This is very similar to what the "a11y-settings" plugin does in gnome-settings-daemon.

Then, for the caribou GTK+ plugin to get loaded, we just need a .desktop file telling us that it depends on the org.gnome.desktop.a11y.applications/screen-keyboard-enabled GSettings key.
Comment 6 Bastien Nocera 2011-08-03 15:01:59 UTC
(In reply to comment #0)
> gnome-shell 3.2 will have an on-screen keyboard. We need preferences for that.
> 
> At a minimum, a checkbox for whether or not it's ever used. Not sure what else.
> 
> Yes, this bug is too vague at the moment.

FWIW, we already have a "Screen keyboard" switch under "Typing" in universal-access. We're missing the same in gnome-shell, and the code to handle tablets specifically.
Comment 7 Bastien Nocera 2011-08-03 15:05:57 UTC
And I will add that if we add a switch to gnome-shell, we'll also need to add it to gdm's a11y preferences.
Comment 8 Matthias Clasen 2011-09-08 16:35:54 UTC
(In reply to comment #7)
> And I will add that if we add a switch to gnome-shell, we'll also need to add
> it to gdm's a11y preferences.

With the login screen now using gnome-shell, that will be automatic.
Comment 9 Matthias Clasen 2011-09-19 12:09:17 UTC
I believe this is taken care off now.