[gnome-shell] Disable naked Super keybinding if sticky
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-shell] Disable naked Super keybinding if sticky
- Date: Fri, 19 Apr 2013 14:25:04 +0000 (UTC)
commit becf4396c99cff5bb9cded5b774b7d0f9c6551c3
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Apr 17 19:59:02 2013 -0400
Disable naked Super keybinding if sticky
With sticky keys, users should be able to press and release a
modifier and then press a key to activate a modifier-key combination.
Activating the overview on the Super key release keeps these
users from using keyboard shortcuts involving the Super modifier.
The solution implemented here is to simply disable the Super-release
binding if sticky keys are enabled. It is still possible to go
to the overview by using Super-S or Alt-F1.
https://bugzilla.gnome.org/show_bug.cgi?id=685974
js/ui/main.js | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
---
diff --git a/js/ui/main.js b/js/ui/main.js
index f438114..7232deb 100644
--- a/js/ui/main.js
+++ b/js/ui/main.js
@@ -41,6 +41,9 @@ const Util = imports.misc.util;
const OVERRIDES_SCHEMA = 'org.gnome.shell.overrides';
const DEFAULT_BACKGROUND_COLOR = Clutter.Color.from_pixel(0x2e3436ff);
+const A11Y_SCHEMA = 'org.gnome.desktop.a11y.keyboard';
+const STICKY_KEYS_ENABLE = 'stickykeys-enable';
+
let componentManager = null;
let panel = null;
let overview = null;
@@ -69,6 +72,7 @@ let _startDate;
let _defaultCssStylesheet = null;
let _cssStylesheet = null;
let _overridesSettings = null;
+let _a11ySettings = null;
function _sessionUpdated() {
_loadDefaultStylesheet();
@@ -157,9 +161,14 @@ function _initializeUI() {
layoutManager.init();
overview.init();
+ _a11ySettings = new Gio.Settings({ schema: A11Y_SCHEMA });
+
global.screen.override_workspace_layout(Meta.ScreenCorner.TOPLEFT,
false, -1, 1);
- global.display.connect('overlay-key', Lang.bind(overview, overview.toggle));
+ global.display.connect('overlay-key', Lang.bind(overview, function () {
+ if (!_a11ySettings.get_boolean (STICKY_KEYS_ENABLE))
+ overview.toggle();
+ }));
// Provide the bus object for gnome-session to
// initiate logouts.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]