Я создаю проект с сенсорным экраном в 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);
}