Wie deaktiviert man Touchscreen-Gesten unter Fedora/GNOME?

Wie deaktiviert man Touchscreen-Gesten unter Fedora/GNOME?

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

Wir haben jedoch festgestellt, dass es in GNOME eine integrierte Geste gibt, die das Aktivitätenmenü öffnet, wenn Sie vom linken Bildschirmrand aus nach rechts wischen. Dies geschieht sogar, wenn unser Firefox- oder Chrome-Fenster im Vollbildmodus bzw. im Kioskmodus ist.

Es gibt im Internet viele Vorschläge zum Deaktivieren von Multitouch-Gesten in GNOME, aber ich habe keine Möglichkeit gefunden, die Wischgeste nach links zu deaktivieren.

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

BEARBEITEN:Mein Chef hat eine damit zusammenhängende Frage, die er dem Beitrag hinzufügen wollte:

„Wir versuchen, Firefox im „Kiosk“-Modus auszuführen, haben jedoch festgestellt, dass es in Fedora Gnome-Shell 3.13.91 eine „Funktion“ gibt, die es Benutzern ermöglicht, durch Ziehen am Rand der linken Bildschirmseite den Bindestrich einzublenden – wodurch der Kiosk ungültig wird.

Ich glaube, der Code für diese Funktion befindet sich im Gnome-Shell-Codehttps://github.com/GNOME/gnome-shellin den Dateien /js/ui/edgeDragAction.jsund js/ui/viewSelector.js– aber ich könnte mich völlig irren.

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

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

Welche Methode wird am besten empfohlen, um dies auszuschalten? Unsere eigene Gnome-Erweiterung schreiben? Können wir diese Methoden überschreiben oder die Schwellenwerte einfach ändern?

Zum Beispiel:

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

BEARBEITEN 2:Mit der Hilfe von Florian Müllner haben wir eine Gnome-Erweiterung mit dem folgenden Javascript-Code geschrieben, und sie scheint unser Problem behoben zu haben:

/*
 * 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);
}

verwandte Informationen