Isso parece ser um bug (o fato de o dispositivo touchscreen desconectar aleatoriamente e se reconectar como um novo dispositivo, o que tem o efeito colateral de redefinir todas as configurações para o padrão).
Como solução alternativa, você pode criar sua própria regra udev (nome do arquivo com base em essas sugestões por Daniel Drake ) que executará um script que reaplique as alterações do xinput sempre que a tela sensível ao toque for reconectada:
sudo nano /etc/udev/rules.d/10-custom-elan.rules
e adicione esta linha que contém "idVendor" e "idProduct" informação (do seu syslog ). O caminho absoluto para "elan.sh" deve ser usado.
ATTRS{idVendor}=="04f3", ATTRS{idProduct}=="2073", RUN+="/home/username/elan.sh"
(que se traduz em "" quando um dispositivo que corresponde aos atributos especificados é encontrado, execute o script designado ").
Em seguida, crie o script real para executar xinput :
nano /home/username/elan.sh
com as seguintes linhas:
#!/usr/bin/env bash
#These lines allow the script to be called by udev rules
export DISPLAY=":0"
export XAUTHORITY="/home/username/.Xauthority"
#Command to remap buttons
xinput set-button-map "ELAN Touchscreen Pen" 1 3 2 4 5
E, claro, torná-lo executável:
chmod +x /home/username/elan.sh
Sem as linhas export , o script funciona quando chamado por você (o usuário ativo) diretamente, mas não funciona quando chamado pelo udev (o usuário root). Detalhes podem ser encontrados em este e esta resposta, mas aqui está um breve resumo:
Para iniciar um programa gráfico na área de trabalho de um usuário, você precisa de duas coisas: o endereço (em que a área de trabalho do usuário é exibida) e a autorização. Quando um usuário efetua login, o gerenciador de login autoriza uma conexão com o servidor X, gerando um cookie, adicionando-o ao servidor e passando-o ao usuário, escrevendo-o para $ HOME / .Xauthority. O usuário root deve, então, poder se conectar sabendo a exibição usada pelo usuário e tendo acesso ao cookie Xauthority. Isto é o que as linhas de exportação alcançam.
Observação : o fato de o número de exibição ser codificado pode causar um problema em algumas circunstâncias, mas neste cenário de uso (usuário único de um laptop pessoal) provavelmente será OK.