SOLUÇÃO - não automática
O script abaixo, quando executado, irá desativar o touchpad se qualquer mouse estiver conectado e mostrar uma notificação.
touchpad_id=$(xinput | grep -i "touchpad" | cut -f2 | cut -d '=' -f2);
if xinput | grep -i "mouse" | grep -i "pointer"
then xinput set-prop $touchpad_id "Device Enabled" 0 |
notify-send "Disabling the touchpad..." ""
else xinput set-prop $touchpad_id "Device Enabled" 1 |
notify-send "The touchpad is now enabled." ""
fi
Adicionamos também uma situação inversa, embora no meu caso o touchpad seja ativado na desconexão do mouse de qualquer maneira.
Salvei o script em um arquivo e o estou executando da seção Unity Launcher
Terminal
após cada plug de mouse.
AVANÇADO
-
Mais mouses?
Esclareça qual
mouse
deve desativar o touchpad expandindo o valor em"mouse"
fragment, nome com base na listaxinput
devices. -
O mouse com medo é executado de ponta a ponta?
Eu tive que executar um comando adicional para o mouse - diminuindo
cursor acceleration
, já que ele é configurado para 10 em cada conexão. Na verdade, depois de um tempo, fiz um script de detecção automática (ele obtém o ID do mouse e seu 'prop' para velocidade; não sei sobre o desempenho decut
) ...touchpad_id=$(xinput | grep -i "touchpad" | cut -f2 | cut -d '=' -f2); mouse_id=$(xinput | grep -i "mouse" | grep -i 'pointer' | cut -f2 | cut -d '=' -f2); mouse_prop=$(xinput list-props $mouse_id | grep -i "velocity" | cut -f2 | cut -d '(' -f2 | cut -d ')' -f1 ); if xinput | grep -i "mouse" | grep -i "pointer" then xinput set-prop $touchpad_id "Device Enabled" 0 | xinput set-prop $mouse_id $mouse_prop 3 | notify-send "Disabling the touchpad..." "" else xinput set-prop $touchpad_id "Device Enabled" 1 | notify-send "The touchpad is now enabled." "" fi
Aprendi muito hoje para fazer acima: D.
ALGUÉM PRO?
-
Seria útil saber como automatizá-lo.
-
Também curioso porque a configuração do mouse não é salva (2.).