
Я создаю проект сенсорного экрана в Fedora 23 (с использованием GNOME 3.18.2), для которого требуется полноэкранное окно Firefox (или Chrome), которое пользователь не может закрыть с помощью сенсорного экрана.
Однако мы поняли, что в GNOME есть встроенный жест, который открывает меню «Действия» при смахивании вправо, начиная с левого края экрана. Это происходит даже тогда, когда наше окно Firefox или Chrome находится в полноэкранном режиме/режиме киоска.
В Интернете было много предложений о том, как отключить мультитач-жесты в GNOME, но я не видел способа отключить жест смахивания влево.
Есть ли способ сделать это в Fedora?
РЕДАКТИРОВАТЬ:У моего начальника есть вопрос по теме, который он попросил добавить в пост:
«Мы пытаемся запустить Firefox в режиме «киоска», но заметили, что в Fedora gnome-shell 3.13.91 есть «функция», которая позволяет пользователям перетаскивать курсор с левой стороны экрана и вызывать панель инструментов, отключая режим киоска.
Я полагаю, что код этой функции находится в коде gnome-shell.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);
}