如何在 Fedora/GNOME 上停用觸控螢幕手勢?

如何在 Fedora/GNOME 上停用觸控螢幕手勢?

我正在 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);
}

相關內容