[gnome-shell/wip/carlosg/touch-mode] keyboard: Only enable automatically if ClutterSeat::touch-mode is enabled
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell/wip/carlosg/touch-mode] keyboard: Only enable automatically if ClutterSeat::touch-mode is enabled
- Date: Mon, 10 Feb 2020 20:13:33 +0000 (UTC)
commit 77e741bc95536f23f83ad9813615a19465a1f7b5
Author: Carlos Garnacho <carlosg gnome org>
Date: Mon Feb 10 20:03:30 2020 +0100
keyboard: Only enable automatically if ClutterSeat::touch-mode is enabled
This defers the policy on backends about whether it makes sense to show
the OSK.
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/872
js/ui/keyboard.js | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js
index 875cb702f7..868a4b3d36 100644
--- a/js/ui/keyboard.js
+++ b/js/ui/keyboard.js
@@ -1102,6 +1102,9 @@ var KeyboardManager = class KeyBoardManager {
this._a11yApplicationsSettings = new Gio.Settings({ schema_id: A11Y_APPLICATIONS_SCHEMA });
this._a11yApplicationsSettings.connect('changed', this._syncEnabled.bind(this));
+ this._seat = Clutter.get_default_backend().get_default_seat();
+ this._seat.connect('notify::touch-mode', this._syncEnabled.bind(this));
+
this._lastDevice = null;
Meta.get_backend().connect('last-device-changed', (backend, device) => {
if (device.get_device_name().indexOf('XTEST') < 0) {
@@ -1122,7 +1125,9 @@ var KeyboardManager = class KeyBoardManager {
_syncEnabled() {
let enableKeyboard = this._a11yApplicationsSettings.get_boolean(SHOW_KEYBOARD);
- let enabled = enableKeyboard || this._lastDeviceIsTouchscreen();
+ let autoEnabled = this._seat.get_touch_mode() && this._lastDeviceIsTouchscreen();
+ let enabled = enableKeyboard || autoEnabled;
+
if (!enabled && !this._keyboard)
return;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]