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

1

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

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

Tem havido muitas sugestões em torno da internet sobre como desabilitar gestos multitoque no GNOME, mas eu não vi uma maneira de desativar o gesto de deslizar para a esquerda.

Existe uma maneira de fazer isso no Fedora?

EDITAR: Meu chefe tem uma pergunta relacionada que ele pediu para adicionar ao post:

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

Acredito que o código para esse recurso está localizado no link do gnome-shell nos arquivos /js/ui/edgeDragAction.js e js/ui/viewSelector.js - mas eu posso estar completamente errado.

Acredito que a sensibilidade de arrasto de borda esteja definida em /js/ui/edgeDragAction.js (consulte 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 desativá-lo? Escrevendo nossa própria extensão do 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

EDIT 2: Com a ajuda de Florian Müllner, escrevemos uma extensão do 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);
}
    
por kepler_kingsnake 19.04.2016 / 04:15

0 respostas