Desativar Touchscreen

Iniciado por Angelo Luz, 04 de Junho de 2011, 20:43

tópico anterior - próximo tópico

Angelo Luz

Boa noite meus caros,

Sou novo no fórum e também no Ubuntu, por motivos de área de pesquisa acabei tendo sempre que trabalhar com Windows porém agora não estou mais preso a ele e estou engatinhando aqui agora.

Bem... o problema então... tenho um notebook HP tx-1020 (touchscreen), porém meu touchscreen está com problema e volta e meia ele buga e comeca a auto clicar na tela abrindo varios aplicativos, fechando outros, movendo outros, enfim, atrapalha pacas.

Gostaria de saber se alguem sabe me dizer onde eu desativo este driver. Ex.: no caso de Windows eu desativo no gerenciador de dispositivos, e no ubuntu? como faco?

Desde já agradeco.

druidaobelix

#1
Olá Angelo Luz,

Sempre que colocar um tópico é interessante informar a versão do Ubuntu que está usando e, quando aplicável, também o tema (por exemplo, Unity ou Clássico). De toda sorte, os procedimentos são razoavelmente semelhantes, diferindo apenas onde clicar, então vou supor que v. está usando a versão 11.04 com o Unity.

Para gerenciar o mouse, incluindo touchpad, você pode se utilizar do programa gpointing.

Pode ser instalado a partir da Central de Programas do Ubuntu (CPU).
No Unity, a CPU encontra-se como ícone no launcher, coluna de ícones à esquerda no desktop, se estiver no padrão é o sexto ícone.

Alternativamente pode clicar no painel superior, à direita, último botão (aquele que se usa para reiniciar e desligar), entrada "Configurações do Sistema" e no grupo Sistema localizar o ícone "Central de Programas do Ubuntu".

Na caixa da lupa digite:

gpointing


Lá consta a seguinte descrição:

------------------

"Dispositivos apontados


Ferramenta gráfica para ajustar dispositivos de apontamento. Atualmente ele pode configurar dispositivos do tipo mouse (mouse, trackpoint etc.) e touchpads.

Para os mouses você pode configurar emulação do botão do meio, emulação da rodinha e rolagem.

Pode habilitar e desabilitar o touchpad ou a rolagem, e também parâmetros adicionais como detecção de palm, arrastos travados, toques e rolagem.

Ele é o sucessor do GSynaptics."

------------------

Se preferir o uso do terminal (shell), o qual pode ser aberto através das teclas Ctrl+Alt+T, digite o seguinte comando:

sudo apt-get install gpointing-device-settings

[]'s
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Angelo Luz

Citação de: druidaobelix online 05 de Junho de 2011, 19:53
Olá Angelo Luz,

Sempre que colocar um tópico é interessante informar a versão do Ubuntu que está usando e, quando aplicável, também o tema (por exemplo, Unity ou Clássico). De toda sorte, os procedimentos são razoavelmente semelhantes, diferindo apenas onde clicar, então vou supor que v. está usando a versão 11.04 com o Unity.

Para gerenciar o mouse, incluindo touchpad, você pode se utilizar do programa gpointing.

Pode ser instalado a partir da Central de Programas do Ubuntu (CPU).
No Unity, a CPU encontra-se como ícone no launcher, coluna de ícones à esquerda no desktop, se estiver no padrão é o sexto ícone.

Alternativamente pode clicar no painel superior, à direita, último botão (aquele que se usa para reiniciar e desligar), entrada "Configurações do Sistema" e no grupo Sistema localizar o ícone "Central de Programas do Ubuntu".

Na caixa da lupa digite:

gpointing


Lá consta a seguinte descrição:

------------------

"Dispositivos apontados


Ferramenta gráfica para ajustar dispositivos de apontamento. Atualmente ele pode configurar dispositivos do tipo mouse (mouse, trackpoint etc.) e touchpads.

Para os mouses você pode configurar emulação do botão do meio, emulação da rodinha e rolagem.

Pode habilitar e desabilitar o touchpad ou a rolagem, e também parâmetros adicionais como detecção de palm, arrastos travados, toques e rolagem.

Ele é o sucessor do GSynaptics."

------------------

Se preferir o uso do terminal (shell), o qual pode ser aberto através das teclas Ctrl+Alt+T, digite o seguinte comando:

sudo apt-get install gpointing-device-settings

[]'s


Olá,

Obrigado pelas dicas.

Desculpe a demora no feedback.

Realmente estou utilizando o Ubuntu 11.04 e a interface Unity.

Porém com o GPointing só encontrei onde mudar as configuracões de mouse e de touchPAD. Não ví nada relacionado ao TouchScreen.

De qualquer forma agradeco a ajuda e aguardo uma possível nova dica.

Abraco.

druidaobelix

#3
Olá Angelo Luz,


Creio que seja importante confirmar no manual do produto se não existe realmente uma tecla ou combinação de teclas que fazem a desativação do touchscreen, uma vez que em vários modelos isso é feito dessa forma. Confirme isso.

Adicionalmente, deveria ser possível desativar usando o "touchfreeze" em conjunto com o "gpointing-device-settings", porém alguma alteração ocorreu para a versão 11.04 e o "touchfreeze" não está disponível, pelo menos pelo apt-get. :-(

Verificando aqui obtive:

"O pacote touchfreeze não está disponível, mas é referenciado por outro pacote.
Isto pode significar que o pacote está faltando, ficou obsoleto ou
está disponível somente a partir de outra fonte

E: O pacote 'touchfreeze' não tem candidato para instalação"

Não sei como está sendo feito agora na versão 11.04, vou tentar descobrir.

[]'s


Editando:

Mais um detalhe, reporte o resultado do comando:

xinput list

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Angelo Luz

Citação de: druidaobelix online 24 de Junho de 2011, 19:58
Olá Angelo Luz,


Creio que seja importante confirmar no manual do produto se não existe realmente uma tecla ou combinação de teclas que fazem a desativação do touchscreen, uma vez que em vários modelos isso é feito dessa forma. Confirme isso.

Adicionalmente, deveria ser possível desativar usando o "touchfreeze" em conjunto com o "gpointing-device-settings", porém alguma alteração ocorreu para a versão 11.04 e o "touchfreeze" não está disponível, pelo menos pelo apt-get. :-(

Verificando aqui obtive:

"O pacote touchfreeze não está disponível, mas é referenciado por outro pacote.
Isto pode significar que o pacote está faltando, ficou obsoleto ou
está disponível somente a partir de outra fonte

E: O pacote 'touchfreeze' não tem candidato para instalação"

Não sei como está sendo feito agora na versão 11.04, vou tentar descobrir.

[]'s


Editando:

Mais um detalhe, reporte o resultado do comando:

xinput list



Olá Druid,

então, o resultado do comando é:

Virtual core pointer                       id=2   [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                 id=4   [slave  pointer  (2)]
⎜   ↳ N-Trig Touchscreen                         id=12   [slave  pointer  (2)]
⎜   ↳ N-Trig Pen stylus                          id=15   [slave  pointer  (2)]
⎜   ↳ N-Trig Pen eraser                          id=13   [slave  pointer  (2)]
⎜   ↳ N-Trig Pen pad                             id=14   [slave  pointer  (2)]
⎜   ↳ N-Trig MultiTouch                          id=16   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                 id=18   [slave  pointer  (2)]
⎜   ↳ SIGMACH1P U+P Mouse                        id=10   [slave  pointer  (2)]
⎣ Virtual core keyboard                      id=3   [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                id=5   [slave  keyboard (3)]
    ↳ Power Button                               id=6   [slave  keyboard (3)]
    ↳ Video Bus                                  id=7   [slave  keyboard (3)]
    ↳ Power Button                               id=8   [slave  keyboard (3)]
    ↳ Sleep Button                               id=9   [slave  keyboard (3)]
    ↳ HP Webcam                                  id=11   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard               id=17   [slave  keyboard (3)]
    ↳ HP WMI hotkeys                             id=19   [slave  keyboard (3)]
    ↳ ENE eHome Infrared Remote Receiver         id=20   [slave  keyboard (3)]

o que preciso desativar é o N-Trig que é o sistema de multi-touch.

Obrigado pela forca!

Abraco.

druidaobelix

Olá Angelo Luz,

Não entendi bem porque v. quer desativar o touchscreen e não apenas deixá-lo com um switch ON/OFF, isto é, liga e desliga quando quer.

Parece que agora, no Ubuntu 11.04, isso é pelo GINN, que é parte do "Canonical Multitouch"

Vamos estudar o assunto.

[]'s
www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Angelo Luz

Citação de: druidaobelix online 24 de Junho de 2011, 21:54
Olá Angelo Luz,

Não entendi bem porque v. quer desativar o touchscreen e não apenas deixá-lo com um switch ON/OFF, isto é, liga e desliga quando quer.

Parece que agora, no Ubuntu 11.04, isso é pelo GINN, que é parte do "Canonical Multitouch"

Vamos estudar o assunto.

[]'s


Druid,

Pode ser também, meu amadorismo que não me deixa fazer, hehehe.
Eu preciso de alguma maneira "desligar" ele pois está com problema e volta e meia fica louco e começa a clicar na tela de maneira descontrolada impossibilitando que eu use o sistema.

Abraço.

druidaobelix

#7
Olá Angelo Luz,

Vamos de novo,

Como não tenho um sistema com touchscreen, isso dificulta profundamente entender em detalhes a literatura existente, e por em prática, que é o ideal para ir "sentindo" os procedimentos, isso no sentido de fazer de fato funcionar adequadamente o sistema que v. tem aí, que afinal, deveria funcionar. :-(

Mesmo porque no site do Ubuntu está expressamente dito:

"Touch screens são totalmente suportadas pelo Ubuntu 11.04. É possível realizar ações como controlar barra de rolagem, trocar entre aplicações abertas e maximizar ou minimizar telas a partir de gestos. A Canonical e a comunidade Ubuntu continuam a adicionar suporte para comandos de toque e gestos em diversas aplicações."

fonte: http://www.ubuntudicas.com.br/1104/

Exatamente por não ter o equipamento, não tenho experiência própria no assunto, entretanto, após a leitura de um vasto material, pareceu-me que a tecnologia ainda é algo incipiente, ao menos no Ubuntu, ou talvez eu não tenha entendido muita coisa, o que também pode ser, exatamente pela falta de experimentação concreta. :-(

Existem vários pontos obscuros que demandam aprofundar o assunto.
Pelo que observei, o Ginn, cuja finalidade é o gerenciamento do multitouch, está vindo instalado por padrão no Ubuntu 11.04 (confirme no seu "Gerenciador de pacotes Synaptic"), entretanto, apesar disso, parece que não é ativado por padrão, ao menos por enquanto, sob o argumento de que ainda não apresenta a estabilidade que a Canonical julga adequada para implementá-lo efetivamente.

Existe até mesmo em andamento um projeto alternativo na Canonical que procura de alguma forma simplificar a configuração do registro dos gestos, pelo que entendi tentando automatizar esse processo. No Ginn esse registro é num arquivo XML (wishes.xml), bastante artesanal, com uma sintaxe que se não chega a ser difícil, pelo menos certamente é trabalhosa, o que de alguma forma 'espantaria' usuários "normais".

Nada obstante, o Ginn (acrônimo de "Gesture Injector: No-GEIS, No-Toolkits") é de uma grande criatividade, no popular, uma grande 'sacada', na medida em que permite adicionar a funcionalidade touchscreen à aplicativos que nativamente não a possuem, ou seja, cria uma camada entre o gesto e o aplicativo, fazendo com que esse 'pense' que se trata de um input tradicional, como um mouse ou um teclado, o que amplia enormemente o espectro de utilização.

No caso do N-Trig entendi que não há, ainda, um driver opensource universal, o que demanda, em alguns casos, fazer um encapsulamento do firmware a partir de uma versão do Windows, de preferência o Seven, algo em alguma medida, enquanto técnica de utilização, semelhante ao NDISwrapper.

Bem, o ponto é o seguinte: como já disse, pela ausência de equipamento em que possa experimentar, me sinto enormemente limitado em poder tentar ajudá-lo mais concretamente na implementação integral dessas funcionalidades no seu computador, pois que começa a ficar algo muito abstrato, dissociado da prática, o que dificulta muito.

Assim, de forma mais imediata, retorno apenas à linha de origem que é tentar desabilitar a funcionalidade, o que já resolve mais imediatamente a sua necessidade de uso do equipamento e, depois, com o tempo, se quiser, vamos juntos tentando aprender mais sobre a implementação adequada dessa tecnologia.

Isso posto, tateando na questão, parece que o driver n-trig absoluto é o hid-ntrig.ko e está aqui:

ls /lib/modules/`uname -r`/kernel/drivers/hid/ | grep ntrig


1) A forma "elegante" de desabilitar, mas não faço idéia se funciona:

a) provisório

No terminal (Ctrl+Alt+T):

xinput set-prop 'N-Trig MultiTouch' 'Device Enabled' 0

Se quiser reabilitar:

xinput set-prop 'N-Trig MultiTouch' 'Device Enabled' 1

Ocorre que esses comandos só funcionam quando são executados, isto é, retornam à condição anterior se reiniciar o sistema ou possivelmente a sessão.

b) persistente

b1) acrescente o primeiro comando acima em rc.local

sudo gedit /etc/rc.local

Adicione, **antes** do "exit 0":

xinput set-prop 'N-Trig MultiTouch' 'Device Enabled' 0

Salvar, sair.
Reinicie o sistema e veja o que acontece.

Se não funcionar, retorne e apague a linha que foi acrescentada.

b2) crie um script próprio para execução em todo início do sistema.

cd ~

gedit notouch

Acrescente:

#!/bin/bash
xinput set 'N-Trig MultiTouch' 'Device Enabled' 0

Salvar e sair.

Atribua as permissões adequadas:

chmod 744 notouch

Acrescente a execução desse script em "Configurações do sistema/Aplicativos de sessão", botão "Adicionar".

Nome: Touchscreen Off  --> ou qualquer um que v. queira

Comando: /home/seu_nome_de_usuario/notouch  --> ou use o botão "Navegar"

Comentário: desliga o touchscreen

Obs: "notouch" é apenas um "nome de batismo" para o script, mas pode ser qualquer outro.


2) A forma "picareta" que me ocorre de parar o seu uso é simplesmente tirar o driver de lá, ou seja, quando o kernel for fazer o carregamento não irá encontrá-lo. Não faço idéia do que acontece se fizer isso, só mesmo experimentando, com o evidente risco de parar o carregamento, se é que não interfere em outras funções.

Faça a experiência renomeando o driver, se houver problema de acesso ao sistema, carregue o sistema pelo "Modo de Recuperação", ou ainda por um LiveCD/USB e faça o caminho de volta, isto é, renomeie para o nome original do arquivo.

sudo mv /lib/modules/`uname -r`/kernel/drivers/hid/hid-ntrig.ko /lib/modules/`uname -r`/kernel/drivers/hid/hid-ntrig.ko.bak

Reinicie o sistema e veja o que acontece.

Obs: os comandos v. não precisa digitar no terminal, basta que copie e cole no terminal, dando em seguida um Enter, o que minimiza os erros de digitação.

3) Entretanto, a forma razoavelmente "elegante" de parar o seu uso é descobrir como é que esse driver é carregado e talvez seja possível bloquear o carregamento acrescentando na blacklist, mas como dito, primeiro precisamos descobrir como é carregado, para depois ver se isso é possível e se funciona.

Creio que seja necessário examinar o resultado de cada um dos seguintes comandos:

cat /var/log/Xorg.0.log | grep "ntrig"

cat /var/log/Xorg.0.log | grep "Touchscreen"

cat /var/log/Xorg.0.log | grep "MultiTouch"

cat /var/log/Xorg.0.log | grep "Pen stylus"

cat /var/log/Xorg.0.log | grep "Pen eraser"

cat /var/log/Xorg.0.log | grep "Pen pad"

Se o caso, poste os resultados para que possamos examinar.

4) Uma outra possibilidade (é um grande 'chute'):

Execute os seguintes comandos:

cat /usr/share/X11/xorg.conf.d/10-evdev.conf | grep "touchscreen"

Verifique se o resultado é esse:

Identifier "evdev touchscreen catchall"

cat /usr/share/X11/xorg.conf.d/10-evdev.conf | grep "MatchIsTouchscreen"

Verifique se o resultado é esse:

MatchIsTouchscreen "on"

Caso positivo, faça uma cópia de segurança do arquivo:

sudo cp /usr/share/X11/xorg.conf.d/10-evdev.conf /usr/share/X11/xorg.conf.d/10-evdev.conf.bak

Abra o arquivo para editar:

sudo gedit /usr/share/X11/xorg.conf.d/10-evdev.conf

Localize:

Section "InputClass"
       Identifier "evdev touchscreen catchall"
       MatchIsTouchscreen "on"
       MatchDevicePath "/dev/input/event*"
       Driver "evdev"
EndSection

Altere onde está "on" para "off"

Portanto, fica assim:

Section "InputClass"
       Identifier "evdev touchscreen catchall"
       MatchIsTouchscreen "off"
       MatchDevicePath "/dev/input/event*"
       Driver "evdev"
EndSection

Salvar e sair
Reinicie o sistema e veja o que acontece.

Igualmente, se houver problemas que impossibilite o acesso, carregue pelo "Modo de Segurança" ou por um LiveCD/USB e retorne a cópia de segurança.

Estou apenas deduzindo que os procedimentos acima poderiam funcionar e sem equipamento semelhante para poder testar previamente, portanto, tateando no escuro, razão pela qual não faço a menor idéia da efetividade disso tudo. :-(

[]'s

www.arredondar.org.br
Vencedor Desafio de Impacto Social Google 2016!
Você também pode participar e fazer a diferença.

Angelo Luz

Druid,

O problema não é com o Ubuntu, na verdade o problema é o meu touchscreen. Meu monitor está com defeito, algo muito maluco onde agora no inverno quando ligo, ele fica com 2/3 da tela com uma espécie de "nata" na horizontal, onde preciso deixar o monitor aquecer um tempo (dependendo do quão frio estiver) e depois deste tempo desligo e ligo o monitor e ele volta a funcionar, e este problema do "auto-touch" também acontece quando a temperatura começa a cair, acredito que seja consequencia do mesmo defeito. (Uma imagem do monitor bugado: http://bit.ly/ijTBjO).
Então, por isso preciso desativar esta função, oras ele funciona muito bem mas quando começa a sequencia de cliques fica impossivel utilizar a máquina.
Estou em viagem agora, assim que estiver com minha máquina em mãos vou seguir suas dicas para tentar desativar e logo digo qual foi o resultado.  :)

De qualquer forma sou muito grato pela sua colaboração!

Muito Obrigado.

Abraço.