如何在 Fedora/GNOME 上禁用触摸屏手势?

如何在 Fedora/GNOME 上禁用触摸屏手势?

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

相关内容