1

Я создаю проект с сенсорным экраном в Fedora 23 (с использованием GNOME 3.18.2), для которого требуется полноэкранное окно Firefox (или Chrome), которое пользователь не может закрыть с помощью сенсорного экрана.

Однако мы поняли, что в составе GNOME есть встроенный жест, который открывает меню «Активности», когда вы проводите пальцем вправо, начиная с левого края экрана. Это даже происходит, когда наше окно Firefox или Chrome работает в полноэкранном режиме или в режиме киоска.

В Интернете было много предложений о том, как отключить жесты с несколькими касаниями в GNOME, но я не видел способа отключить жест смахивания влево.

Есть ли способ сделать это в Fedora?

РЕДАКТИРОВАТЬ: У моего босса есть связанный вопрос, который он попросил добавить в пост:

«Мы пытаемся запустить Firefox в режиме" киоска ", но заметили, что в fedora gnome-shell 3.13.91 есть" особенность ", которая позволяет пользователям перетаскивать края с левой стороны экрана и выводить тире. аннулирование киоска.

Я считаю, что код этой функции находится в коде оболочки gnome https://github.com/GNOME/gnome-shell в файлах /js/ui/edgeDragAction.js и js/ui/viewSelector.js - но Я могу быть совершенно не прав.

Я полагаю, что чувствительность краевого сопротивления установлена в /js/ui/edgeDragAction.js (см. Код ниже)

И действие добавляется в js/ui/viewSelector.js (см. Код ниже)

Каков наилучший рекомендуемый метод для отключения этого? Написание нашего собственного расширения Gnome? Можем ли мы переопределить эти методы или легко изменить пороги?

Например:

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

РЕДАКТИРОВАТЬ 2: С помощью Флориана Мюллнера мы написали расширение Gnome со следующим кодом Javascript, и оно, похоже, решило нашу проблему:

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

0