aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--extension.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/extension.js b/extension.js
index 12a82d1..9b0b39c 100644
--- a/extension.js
+++ b/extension.js
@@ -1,7 +1,10 @@
+const Gio = imports.gi.Gio;
const Lang = imports.lang;
const St = imports.gi.St;
const Main = imports.ui.main;
+const A11Y_APPLICATIONS_SCHEMA = 'org.gnome.desktop.a11y.applications';
+
function OnScreenKeyboardButton() {
this._init();
}
@@ -13,11 +16,22 @@ OnScreenKeyboardButton.prototype = {
this._onScreenKeyboardShown = false;
},
+ _activateOnScreenKeyboard: function () {
+ let settings = new Gio.Settings({ schema: A11Y_APPLICATIONS_SCHEMA });
+ let key = 'screen-keyboard-enabled';
+
+ if (!settings.get_boolean(key) &&
+ settings.is_writable(key)) {
+ settings.set_boolean(key, true);
+ }
+ },
+
_toggleShowOnScreenKeyboard: function() {
if (this._onScreenKeyboardShown) {
this.actor.set_label("Show keyboard");
Main.keyboard.hide();
} else {
+ this._activateOnScreenKeyboard();
this.actor.set_label("Hide keyboard");
Main.keyboard.show();
}