aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2012-12-27 00:28:35 +0100
committerGuido Günther <agx@sigxcpu.org>2012-12-27 00:28:35 +0100
commit1db4068e22b7ed6d3174e31e48b4ba5299ebff83 (patch)
tree854c79cff3b56b6471232dae1e65279684f25bf5
parent34d3d457b16cb44445710946ddc3f1b8d5519181 (diff)
Activate keyboard
if not already enabled via the accessiblity menu
-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();
}