No script chamado pela regra yr udev, coloque o fragmento while, do, done
abaixo, antes do seu xinput
parâmetro tweaks.
#!/bin/sh
while [ ! "$(/usr/bin/hcitool info 84:38:35:31:CC:6B >& /dev/null; echo $?)" ]; do
sleep 0.1
done
xinput --set-prop "Mouse of Elios" "Device Accel Constant Deceleration" 5.0
xinput --set-prop "Mouse of Elios" "Device Accel Adaptive Deceleration" 1.0
xinput --set-prop "Mouse of Elios" "Device Accel Velocity Scaling" 3.3
Ele permite que o script do yr espere por intervalos de tempo sucessivos de 0,1 segundo, até que o mouse seja devidamente conectado por Bluetooth e antes que o xinput --set-prop
cmds seja acionado.
Note que você tem três maneiras de ajustar a resposta do mouse a um movimento da mão.
- Desaceleração constante do Accel do dispositivo (528): 2.500000
- Desaceleração adaptativa do dispositivo Accel (529): 1.000000
- Escala de velocidade de aceleração do dispositivo (530): 10.000000
Verifique se this e this para descobrir exatamente o que significam esses valores de parâmetro. Para modificar satisfatoriamente o "escalonamento de velocidade", você precisará saber qual é a taxa de atualização do seu mouse (em Hz). Você deve encontrar esse valor na ficha de dados técnicos do seu mouse. O valor de Escala de velocidade é estimado em 1000/refresh_rate_in_Hz
. Assim, 3.3 assume uma taxa de atualização de 300Hz, 10 uma taxa de atualização de 100Hz.
O script Yr parece não alterar os valores padrão de:
-
Device Accel Constant Deceleration (528): 2.500000
-
Device Accel Adaptive Decelaration (529): 1.000000
como revelado por yr xinput --list-props
cmd ... Tente modificar o valor de 2,5 para prop_id 528 e perceba que definir prop_id 529 como 1 (padrão) significa " nenhuma aceleração ou desaceleração adaptativa ".
A regra do udev que você adaptou da resposta de Gilles em AU / U & L não se aplica estritamente ao caso do ano. O que você precisa é de uma regra que seja implementada após a "adição" do dispositivo yr, ou seja, assim que sua presença inicializar um evento do kernel. Então, a regra do udev deve simplesmente ler:
ACTION=="add", SUBSYSTEMS=="input", ATTRS{idVendor}=="____", ATTRS{idProduct}=="____", RUN+="/usr/local/sbin/fixmouse"
onde você deve substituir