Quero que meu touchpad seja desativado quando uso o mouse. Como eu posso fazer isso?
touchpad-indicator
parou de funcionar em 11.10. Costumava trabalhar no 11.04. O Gnome3 não é uma solução, pois não gosto e acho que é buggy.
Quero que meu touchpad seja desativado quando uso o mouse. Como eu posso fazer isso?
touchpad-indicator
parou de funcionar em 11.10. Costumava trabalhar no 11.04. O Gnome3 não é uma solução, pois não gosto e acho que é buggy.
Respostas:
Execute o seguinte comando em um terminal:
xinput list
Você obterá uma saída parecida com esta:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [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)]
↳ Laptop_Integrated_Webcam_1.3M id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
Ele exibe todos os dispositivos de entrada conectados. Observe que todos eles têm um ID. Como 12 é o ID do meu touchpad, a execução do comando a seguir o desativará.
xinput set-prop 12 "Device Enabled" 0
Nas versões do Ubuntu, >12.04
você também pode desativar diretamente via
xinput --disable 12
(e ativar através de um comando semelhante)
xinput -disable 12
desativar o dispositivo de entrada 12 (ou xinput -enable 12
ativá-lo). Consulte a página de manual xinput (1) .
verifique este link: Como desativar o touchpad no ubuntu 11.10
A resposta encontrada é muito legal:
sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
Depois disso, você receberá uma opção na sua área de notificação.
A única coisa que eu gostaria é poder definir a tecla de alternar para Fn+ F8(que é uma tecla do touchpad no meu teclado ...
atareao
, ele pode estar hospedando malware em seu PPA
Com base na resposta de @Peng Wu, criei um script bash que pode ser usado ...
#!/bin/bash
declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
xinput set-prop $ID "Device Enabled" 0
echo 'Touchpad has been disabled.'
Você pode executá-lo manualmente ou executá-lo no início. Em seguida, você pode executar o script na inicialização.
Outro script do bash para alternar o touchpad:
#!/bin/bash
declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
declare -i STATE
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'`
if [ $STATE -eq 1 ]
then
xinput disable $ID
echo "Touchpad disabled."
else
xinput enable $ID
echo "Touchpad enabled."
fi
'Touchpad in mouse emulation mode\s*id\=[0-9]{1,2}'
Touchpad
vez de TouchPad
. Para torná-lo sem distinção entre maiúsculas e minúsculas, basta adicionar um i
às suas opções grep.
synclient TouchpadOff=$(synclient | ruby -ne 'puts ($_.match(/\\d+/)[0].to_i ^ 1) if /TouchpadOff/ =~ $_')
imwheel
: askubuntu.com / questions / 844151 / enable-disable-touchpad /… . Além disso, minha resposta procura xinput
por ambos TouchPad
e Touchpad
, como algumas vezes o P é ou não capitalizado, dependendo do sistema, portanto, caso contrário, o script não funcionará se você não procurar pelos dois.
Simplesmente, em um terminal:
synclient TouchpadOff=1
No entanto, o acima parece não funcionar mais no Ubuntu 16.04. Nesse caso, xinput
ainda funciona:
xinput set-prop `xinput --list | awk '/[Tt]ouch[Pp]ad.*pointer/ {print $7}' | sed 's/id=\(.*\)/\1/'` "Device Enabled" 0
Em vez de xinput
, com variáveis de ID que podem mudar, use melhor synclient
como indicado em outras respostas, como esta .
sudo apt install xserver-xorg-input-synaptics
Para desativar o touchpad:
synclient TouchpadOff=1
Para ativar:
synclient TouchpadOff=0
Para ser usado com lançadores ou atalhos, como dito abaixo.
Esta é apenas a aplicação dos comandos nesta resposta na presente pergunta. A solução abaixo é limitada ao Xfce / Xubuntu, mas, embora eu tenha feito isso por acaso, acho muito elegante e não o compartilho aqui. Então, criei uma pergunta separada inicialmente, apenas para o Xubuntu. Essa pergunta não pode deixar de ser uma duplicata e pode ser encerrada por esse motivo, é por isso que ouso postar novamente essa resposta aqui.
É sobre estes dois comandos:
Desativar:
xinput set-prop 15 "Device Enabled" 0
Habilitar:
xinput set-prop 15 "Device Enabled" 1
O número de identificação será encontrado executando
xinput list
É assim que desabilitar o touchpad automaticamente na inicialização. Esse método desabilitará o pad com mais segurança por nome e não por ID. Veja como obter o nome do seu touchpad:
$ xinput list --name-only | grep -i Touchpad
ETPS/2 Elantech Touchpad
Crie um arquivo de script bash. Eu adicionei o arquivo ao ubuntu Startup Applications para que ele seja executado a cada reinicialização. Lembre-se de tornar o arquivo executável. Aqui estão os conteúdos:
#!/bin/bash
$ xinput disable 'ETPS/2 Elantech Touchpad'
Isso funcionou para mim em 11.10:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [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)]
↳ Laptop_Integrated_Webcam_1.3M id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
Ele exibe todos os dispositivos de entrada conectados. Observe que todos eles têm um ID. Como 12 é o ID do meu touchpad, a execução do comando a seguir o desativará.
xinput set-prop 12 "Device Enabled" 0
e eu o colocaria em .bashrc ou qualquer outra coisa, exceto que não tenho certeza de que o dispositivo 12 (na verdade, 11 para mim) seja sempre o touchpad.
Agora, se eu conseguisse colocar a seta para cima no nautilius para trabalhar e ver as .dirs
(esta resposta foi copiada de uma edição inválida)
Em vez de lembrar esse comando sempre que desejar ativar / desativar o touchpad, você pode adicioná-lo como um atalho de combinação de teclado.
Em preferências em Atalhos do teclado, clique em Adicionar. Dê um nome ao atalho como "Desativar Touchpad" ou algo assim e adicione o comando que você descobriu acima
xinput set-prop <id> "Device Enabled" 0
e clique em aplicar. Em seguida, adicione outro atalho chamado "Ativar Touchpad" ou algo semelhante ao primeiro e altere o comando anterior para 1 no final
xinput set-prop <id> "Device Enabled" 1
esses são os off / on, respectivamente.
Agora que eles foram adicionados, clique na coluna Ativar Atalho do Touchpad (deve dizer 'desativado') e digite o atalho do teclado que você deseja que eu escolha, escolhi Win+ 1(Mantenha pressionada a tecla Windows e pressione o número 1). Faça o mesmo para Desativar Touchpad, eu escolhi Win+ 2.
Agora Win+ 1permite o meu touchpad e Win+ 2desativa.
Eu uso o seguinte script para ativar / desativar o touchpad. Também o atribuí ao atalho de teclado.
Uso: toggle_touchpad.sh [on|off
]
se você executar sem argumentos, ele simplesmente inverterá o estado atual do touchpad.
#!/bin/bash
# toggle_touchpad.sh
is_off=`synclient | grep -Pio "TouchpadOff.*?(\d)" | grep -Eo "[01]"`
if [ -z "$1" ]; then
echo "Inverting touchpad state"
if [ "$is_off" -eq '0' ];then
synclient TouchpadOff=1
notify-send "Touchpad Disabled"
else
synclient TouchpadOff=0
notify-send "Touchpad Enabled"
fi
else
if [ "$1" == "on" ]; then
echo "Turning on touchpad"
synclient TouchpadOff=0
notify-send "Touchpad Enabled"
elif [ "$1" == "off" ]; then
echo "Turning off touchpad"
synclient TouchpadOff=1
notify-send "Touchpad Disabled"
else
echo "Unknown arg! Pass no args or on/off !"
fi
fi
Primeiro verifique se o seu laptop tem ativar / desativar o atalho de teclado do touchpad, por acaso! No meu Lenovo Thinkpad T500 é Fn+F8
xev
oue xinput
tentar usar o botão no meu G700, ele não registrará nada. Even evemu-record
não registra nada, e isso está no nível do kernel. Se o kernel não pode vê-lo, não há muito a ser feito, exceto corrigir drivers de dispositivo. Dito isto, essa é uma ótima solução, mas não é confiável para todos os casos de uso.
No meu caso, fn+F9 é mapeado na alternância do Touchpad .
Mas a tecla não faz nada, apenas mostrando o ícone do touch pad no canto superior direito da tela como este.
Aqui está uma solução para alternar o touchpad pressionando um atalho .
$ xinput list
Então, eu tenho um arquivo de script bash para alternar o touchpad com o comando 'xinput' (o script original pode ser encontrado aqui ).
No meu caso, o ID do touch pad era 12.
#!/bin/bash
device=12
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`
if [ "$state" -eq '1' ];then
xinput --disable "$device"
else
xinput --enable "$device"
fi
Salve o arquivo de script acima como .toggleTouchPad.sh
onde quiser.
E o último passo é adicionar o atalho do teclado para executar o arquivo de script.
Então, basta escrever sh /PATH/TO/SCRIPT
na Command
janela de atalho.
Pressione o atalho e verifique se o touchpad está alternado.
Ele trabalhou no laptop ASUS A556UA e no Ubuntu14.04 x64 instalado .
sugira uma maneira de atribuir a tecla de alternância do Touchpad a um atalho personalizado para obter uma solução completa
Para o Ubuntu 16.04
Para desativar o touchpad:
xinput --disable $(xinput --list | grep -i 'touchpad' | grep -o 'id=[0-9]*' | sed 's/id=//')
e para ativar o touchpad:
xinput --enable $(xinput --list | grep -i 'touchpad' | grep -o 'id=[0-9]*' | sed 's/id=//')
https://bitbucket.org/barseghyanartur/xinput
É um código muito pequeno que permite desativar / ativar o touchpad no terminal.
Basta seguir as instruções abaixo:
Instalar:
$ pip install xinput
Desativar touchpad:
$ disable-touchpad
Ativar touchpad:
$ enable-touchpad
Basta adicionar algumas funções bash ao seu .bashrc para alternar ...
#toggle-touchpad on|off
function touchpadon { /usr/bin/xinput --enable $(xinput --list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}') ; echo "touchpad enabled";}
function touchpadoff { /usr/bin/xinput --disable $(xinput --list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}') ; echo "touchpad disabled";}
Na verdade, é muito simples desativar o touchpad no Ubuntu. Basta remover o pacote xserver-xorg-input-synaptics
necessário para usar os touchpads no Ubuntu!
sudo apt-get remove xserver-xorg-input-synaptics
É a única maneira de desativar permanentemente o touchpad que funcionou para mim. As outras maneiras eram apenas temporárias:
xinput list
xinput set-prop IDOFTOUCHPAD "Device Enabled" 0
synclient TouchpadOff=1
Eu estou usando LXDE e eu não era capaz de desativar automaticamente o touchpad, adicionando estas linhas para ~/.config/lxsession/LXDE/autostart
ou /etc/xdg/lxsession/LXDE/autostart
com um @
-prefix. Foi apenas ignorado.
E tentei desativar o touchpad com o dconf-editor (org.gnome.desktop.peripherals.touchpad) e o gconf-editor (desktop.gnome.peripherals.TOUCHPADNAME), mas ambos não funcionaram. As configurações no dconf-editor não têm efeito algum e no gconf-editor ele continua mostrando a mensagem de erro "Esta chave não possui esquema".
Tentei usar a tecla de função do laptop ( fn) para desativar o ponteiro e ele funciona. Não funcionou durante os meus 11,04 dias, portanto, experimente.
O que funcionou para mim no Ubuntu 12.04 LTS com o laptop Dell
Eu queria desativar o ponteiro que está no meio do teclado e cria muitos problemas ao digitar. Assim:
$ xinput list
⎡ Virtual core pointer id=2
⎜ ↳ Virtual core XTEST pointer id=4
⎜ ↳ Wacom Graphire2 4x5 eraser id=9
⎜ ↳ Wacom Graphire2 4x5 cursor id=10
⎜ ↳ Wacom Graphire2 4x5 id=11
⎜ ↳ AlpsPS/2 ALPS DualPoint TouchPad id=14
⎜ ↳ Macintosh mouse button emulation id=15
⎜ ↳ DualPoint Stick id=13
⎣ Virtual core keyboard id=3
↳ Virtual core XTEST keyboard id=5
↳ Video Bus id=6
↳ Power Button id=7
↳ Sleep Button id=8
↳ AT Translated Set 2 keyboard id=12
The device I want to disable has id 13. Use xinput to list its properties:
$ xinput -list-props 13
Device 'DualPoint Stick':
Device Enabled (115): 0
[...several lines removed...]
$ xinput -set-prop 13 115 0
Isso desativou o stick Dualpoint. Mas nenhuma das outras respostas funcionou para mim. eu fiz
Instalar dconf-tools
:
sudo apt-get install dconf-tools
dconf-editor
Em seguida, vá para org -> gnome -> settings-daemon -> periféricos -> touchpad e desmarque o campo ativado pelo touchpad
Encontrei uma boa solução para criar uma ligação de chave que chamará o comando:
xdotool key 199
onde 199 é um código de chave reconhecido como XF86TouchpadToggle. Dessa maneira, é possível fazer uma combinação de teclas de sua escolha para se comportar como uma tecla especial. Alguns laptops precisam alternar o touchpad, pois os ambientes de desktop como Mate ou Cinnamon lidam com isso muito bem. Você pode verificar os códigos de chave com este comando:
xmodmap -pke
Eu criei um tutorial no meu blog: https://artofcode.wordpress.com/2017/10/01/how-to-add-a-key-binding-to-toggle-a-touchpad-under-linux /
Minha solução é o seguinte script tp:
#!/bin/bash
TT=`xinput --list | grep -i touchpad | sed -e "
s/(//
s/)//
s/ //g
"`
set $TT
(( $2 ))
xinput list | grep -iq mouse &&{
xinput --disable $id
}||{
xinput --enable $id
}
O touchpad é desativado se um mouse for detectado e ativado se não.
A identificação do touchpad é encontrada pelo script.
Eu tenho um notebook Medion Akoya modelo P7812 usando o Ubuntu 11.10 (64 bits) e a combinação de teclas Fn& F6desativa o touchpad.
Solução alternativa que funciona para todos os touchpads, sem necessidade de identificação.
abra um terminal e escreva "gedit toggle_touchpad.sh"
#!/bin/bash
condition="$(gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled)"
if [ "$condition" == "false" ]; then
gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true
elif [ "$condition" == "true" ]; then
gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false
fi
Salve o arquivo e saia. Agora você tem um arquivo com o nome "toggle_touchpad.sh"
Execute o comando chmod +x toggle_touchpad.sh
para tornar o arquivo executável.
Coloque o arquivo em qualquer pasta que desejar. Vamos supor que você o tenha na pasta / home / nome de usuário / myscripts /.
No menu no canto superior direito, vá para system-settings->keyboard->shortcuts->custom-shortcuts
.
Crie um novo atalho e coloque como nome o que quiser. Coloque como comando /home<username>;/myscripts/toggle_touchpad.sh
onde "nome de usuário" é seu nome de usuário
Atribua o atalho de teclado desejado.
Pronto :)
PS Pessoalmente, coloquei o arquivo na /opt/myscripts/
pasta, mas para colocá-lo lá, você deve executar os seguintes comandos após criar o arquivo:
sudo mkdir /opt/myscripts/
sudo mv toggle_touchpad.sh /opt/myscripts/
sudo chown <username>:<username> /opt/myscripts/toggle_touchpad.sh
chmod +x /opt/myscripts/toggle_touchpad.sh
onde "nome de usuário" é seu nome de usuário
Então, quando você criar o atalho, usará o caminho "/opt/myscripts/toggle_touchpad.sh" em vez do mencionado acima
primeiro use a lista xinput para obter o nome do dispositivo base do seu touchpad ... do que adicione o comando xinput disable com o nome completo do dispositivo (em qoutes duplos para aceitar o espaço em branco) no arquivo ~ / .bashrc (por exemplo, xinput disable "SynPS / 2 Synaptics TouchPad ") os scripts acima provaram ser um sucesso ou um fracasso.
Este método funciona, mas não consigo usar o botão "vencer". Então eu usei o CtrlF1& F2para isso.
Atualmente, o sistema operacional do meu laptop é o ubuntu 14.04LTS.
Ah, precisa descobrir xinput < id >
o comando abaixo. Para o Ubuntu 14.04, é o "SynPS / 2 Synaptics TouchPad"
xinput list
SynPS/2 Synaptics TouchPad id=###
Eu tentei todas as respostas anteriores aqui sem sucesso.
O que funcionou para mim no Ubuntu 16.10 foi
killall syndaemon
syndaemon -i 1 -KRd
Você pode alterar o valor de 1 para 0,5.
Então, combinando as respostas de Krzysztof Tomaszewski e JaeJun LEE, cheguei a esta solução.
Crie o seguinte toggleTouchPad.sh
script e salve-o onde quiser:
#!/bin/bash
device=14
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`
if [ "$state" -eq '1' ];then
xinput --disable "$device" && sleep 1 && xdotool key 201
else
xinput --enable "$device" && sleep 1 && xdotool key 200
fi
onde 14 é seu ID do TouchDevice (consulte resposta de JaeJun LEE )
Vá para Configurações do Ubuntu -> Dispositivos -> Teclado
No final da lista, clique em +
para adicionar um novo atalho personalizado
Dê um nome Toggle Touchpad
, com Command /path/to/.toggleTouchPad.sh
e qualquer combinação de teclas que você deseje (acabei de escolher Super + F7).
Agora, sempre que você pressiona a combinação de teclas escolhida, ele não apenas alterna o Touchpad, mas também exibe um ícone de notificação graças a xdotool
Para desativar o stick médio do meu dell latitude, eu o coloco no .profile do Ubuntu para que, sempre que eu iniciar / reiniciar meu laptop, ele desabilite essa entrada.
Eu usei o --id-only
para evitar incompatibilidade no grep
declare -i ID
ID=`xinput list --id-only 'AlpsPS/2 ALPS DualPoint Stick' | grep -Eo '[0-9]{1,2$
declare -i STATE
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'`
if [ $STATE -eq 1 ]
then
echo "id" $ID
xinput disable $ID
echo "Touchpad disabled."
else
echo "id" $ID
xinput enable $ID
echo "Touchpad enabled."
fi
No meu caso, com um Slimbook e Kubuntu, eu apenas usei a combinação: Fn+ Z.
Isso desativa ou ativa o touchpad.