Wie können Sie die Touchscreen-Gesten in Fedora / GNOME deaktivieren?

1438
kepler_kingsnake

Ich erstelle ein Touchscreen-Projekt auf Fedora 23 (mit GNOME 3.18.2), das ein Firefox-Fenster (oder Chrome) im Vollbildmodus erfordert, das der Benutzer nicht mithilfe des Touchscreens schließen kann.

Wir haben jedoch erkannt, dass es eine integrierte Geste als Teil von GNOME gibt, die das Menü Aktivitäten öffnet, wenn Sie nach rechts streichen, beginnend am linken Rand des Bildschirms. Dies ist sogar der Fall, wenn sich unser Firefox- oder Chrome-Fenster im Kiosk-Modus im Vollbildmodus befindet.

Es gibt im Internet viele Vorschläge, wie Sie Multitouch-Gesten in GNOME deaktivieren können, aber ich habe keine Möglichkeit gesehen, die Geste für das Streichen nach links zu deaktivieren.

Gibt es eine Möglichkeit, dies in Fedora zu tun?

EDIT: Mein Chef hat eine verwandte Frage, die er dem Posting hinzugefügt haben wollte:

"Wir versuchen, Firefox im" Kiosk "-Modus auszuführen, stellten jedoch fest, dass es in Fedora gnome-shell 3.13.91 ein" Feature "gibt, mit dem Benutzer den Rand von der linken Seite des Bildschirms ziehen und den Strich anzeigen können - Ungültigmachen des Kiosks.

Ich glaube, der Code für diese Funktion befindet sich im gnome-shell-Code https://github.com/GNOME/gnome-shell in den Dateien /js/ui/edgeDragAction.jsund js/ui/viewSelector.js-, aber ich könnte völlig falsch sein.

Ich glaube, dass die Kantenwiderstandsempfindlichkeit eingestellt ist /js/ui/edgeDragAction.js(siehe Code unten).

Und die Aktion wird hinzugefügt js/ui/viewSelector.js(siehe Code unten)

Was ist die am besten empfohlene Methode, um dies auszuschalten? Schreiben Sie unsere eigene Gnome-Erweiterung? Können wir diese Methoden überschreiben oder die Schwellenwerte leicht ändern?

Zum Beispiel:

const EDGE_THRESHOLD = 20; <- change to 0 const DRAG_DISTANCE = 80; <- change to 1000 

EDIT 2: Mit Hilfe von Florian Müllner haben wir eine Gnome-Erweiterung mit dem folgenden Javascript-Code geschrieben, und es scheint, dass unser Problem behoben wurde:

/* * Disable all of the touchscreen gestures. */ function enable() {  global.stage.get_actions().forEach(a => a.enabled = false);  }  /* * Re-enable the touchscreen gestures. */ function disable() {  global.stage.get_actions().forEach(a => a.enabled = true); } 
1
Probieren Sie einen anderen Fenstermanager aus, der auch weniger Ressourcen verbraucht (was jedoch bei der Ausführung von Firefox oder Chrome keine Rolle spielt) Martian vor 7 Jahren 0
Würde ich dazu so etwas wie gnome-classic-session installieren oder hat das den gleichen Fenstermanager wie Gnome 3? kepler_kingsnake vor 7 Jahren 0
`dnf search" window manager "` listet verfügbare Pakete auf. Versuchen Sie, welches am besten für Sie funktioniert. Beispielsweise verwenden selinux X-Sandboxen Metacity-WM. Martian vor 7 Jahren 0

0 Antworten auf die Frage