diff options
author | Guido Günther <agx@sigxcpu.org> | 2012-12-27 00:28:35 +0100 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2012-12-27 00:28:35 +0100 |
commit | 1db4068e22b7ed6d3174e31e48b4ba5299ebff83 (patch) | |
tree | 854c79cff3b56b6471232dae1e65279684f25bf5 | |
parent | 34d3d457b16cb44445710946ddc3f1b8d5519181 (diff) |
Activate keyboard
if not already enabled via the accessiblity menu
-rw-r--r-- | extension.js | 14 |
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(); } |