Estou usando o Enlightenment DM, mas isso é relevante para outros DMs / desktops. Eu começo minha sessão usando o xsession, então eu inicialmente coloquei comandos xinput em ~ / .xsession, o que não alterou todas as configurações que eu queria mudar. Apenas alguns deles. Eu esperava todas ou nenhuma alteração, então adicionei um loop de 10 interações à minha .xsession com intervalos de 1 segundo, executando comandos xinput a cada vez e verificando se as configurações foram aplicadas. Para minha surpresa, todas as configurações foram aplicadas após a primeira iteração.
Isto significa que é o seu Mestre que faz algo para sobrescrever suas configurações de xinput e já que o comando que inicia seu DM (E17 no meu caso) é o último em seu arquivo .xsession, este arquivo não é lugar para isso. / p>
Eu adicionei as seguintes linhas no meu ~ / .profile e isso resolveu o problema:
# don't run unless we're being invoked from an xwindows session
if [[ -n ${DISPLAY} ]]; then
# set your devices names here
pointer1="IBM TrackPoint"
pointer2="Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint"
pointer3="Logitech USB Trackball"
id1=$(xinput | awk -F= "/$pointer1.*pointer/ {print $2}" | cut -f1)
id2=$(xinput | awk -F= "/$pointer2.*pointer/ {print $2}" | cut -f1)
id3=$(xinput | awk -F= "/$pointer3.*pointer/ {print $2}" | cut -f1)
if [[ -n "${id1}" ]]; then
xinput --set-button-map "${id1}" 1 2 3 4 5 6 7
xinput set-prop "${id1}" "Evdev Wheel Emulation Axes" 6 7 4 5
xinput set-prop "${id1}" "Evdev Wheel Emulation" 1
xinput set-prop "${id1}" "Evdev Wheel Emulation Button" 2
xinput set-prop "${id1}" "Evdev Middle Button Emulation" 0
fi
if [[ -n "${id2}" ]]; then
xinput --set-button-map "${id2}" 1 2 3 4 5 6 7
xinput set-prop "${id2}" "Evdev Wheel Emulation Axes" 6 7 4 5
xinput set-prop "${id2}" "Evdev Wheel Emulation" 1
xinput set-prop "${id2}" "Evdev Wheel Emulation Button" 2
xinput set-prop "${id2}" "Evdev Middle Button Emulation" 0
fi
if [[ -n "${id3}" ]]; then
xinput --set-button-map "${id3}" 1 2 3 4 5 6 7 8 9
xinput set-prop "${id3}" "Evdev Wheel Emulation Axes" 6 7 4 5
xinput set-prop "${id3}" "Evdev Wheel Emulation" 1
xinput set-prop "${id3}" "Evdev Wheel Emulation Button" 8
xinput set-prop "${id3}" "Evdev Middle Button Emulation" 1
fi
fi
PS. set-int-prop foi preterido em favor de set-prop (man xinput).
Espero que isso ajude alguém.