
我正在 Fedora 23(使用 GNOME 3.18.2)上創建一個觸控螢幕項目,該項目需要一個全螢幕 Firefox(或 Chrome)窗口,用戶無法使用觸控螢幕關閉該窗口。
然而,我們意識到 GNOME 有一個內建手勢,當您從螢幕左邊緣開始向右滑動時,它會打開「活動」選單。當我們的 Firefox 或 Chrome 視窗全螢幕/處於 kiosk 模式時,甚至會發生這種情況。
網路上有很多關於如何在 GNOME 中停用多點觸控手勢的建議,但我還沒有找到停用向左滑動手勢的方法。
在 Fedora 中有沒有辦法做到這一點?
編輯:我的老闆有一個相關問題,他要求添加到帖子中:
“我們嘗試在“kiosk”模式下運行 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:在 Florian Müllner 的幫助下,我們使用以下 Javascript 程式碼編寫了一個 Gnome 擴展,它似乎解決了我們的問題:
/*
* 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);
}