Como você desativa os gestos da tela sensível ao toque no Fedora/GNOME?

Como você desativa os gestos da tela sensível ao toque no Fedora/GNOME?

Estou criando um projeto touchscreen no Fedora 23 (usando GNOME 3.18.2) que requer uma janela de tela cheia do Firefox (ou Chrome) que o usuário não pode fechar usando a tela sensível ao toque.

No entanto, percebemos que existe um gesto integrado no GNOME que abre o menu Atividades quando você desliza para a direita, começando na borda esquerda da tela. Isso acontece até mesmo quando nossa janela do Firefox ou Chrome está em tela cheia/modo quiosque.

Tem havido muitas sugestões na Internet sobre como desabilitar os gestos multitoque no GNOME, mas não vi uma maneira de desabilitar o gesto de deslizar para a esquerda.

Existe uma maneira de fazer isso no Fedora?

EDITAR:Meu chefe tem uma pergunta relacionada que pediu para ser adicionada à postagem:

"Estamos tentando executar o Firefox no modo" quiosque ", mas notamos que há um" recurso "no fedora gnome-shell 3.13.91 que permite aos usuários arrastar a borda do lado esquerdo da tela e abrir o painel - invalidando o quiosque.

Acredito que o código desse recurso esteja localizado no código gnome-shellhttps://github.com/GNOME/gnome-shellnos arquivos /js/ui/edgeDragAction.jse js/ui/viewSelector.js- mas posso estar completamente errado.

Acredito que a sensibilidade ao arrasto da borda esteja definida /js/ui/edgeDragAction.js(veja o código abaixo)

E a ação é adicionada a js/ui/viewSelector.js(veja o código abaixo)

Qual é o melhor método recomendado para desligar isso? Escrevendo nossa própria extensão Gnome? Podemos substituir esses métodos ou alterar os limites facilmente?

Por exemplo:

const EDGE_THRESHOLD = 20; <- change to 0
const DRAG_DISTANCE = 80; <- change to 1000

EDITAR 2:Com a ajuda de Florian Müllner, escrevemos uma extensão Gnome com o seguinte código Javascript e parece ter resolvido nosso problema:

/*
 * 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);
}

informação relacionada