Asus U30JC TouchPad Lock (Fn+F9) en Debian squeeze/sid

Al parecer existe un problema en la detección del touchpad en algunos modelos de laptops Asus, y mi u30jc que corre un Debian squeeze/sid 32 bit no es la excepción. Efectivamente si ejecutamos en consola el comando $ xinput list vemos que el touchpad es incorrectamente reconocido como un “ImPS/2 Logitech Wheel Mouse”, y por consecuencia la combinación Fn+F9 que habilitada/deshabilita el dispositivo no funciona. Por el momento podemos realizar un simple workaround modificando los scripts acpi asociados a la función deseada:

Para comenzar hacemos:

$ sudo acpi_listen

Y presionamos Fn+F9 para obtener el código del evento asociado, en este caso: hotkey ATK0100:00 0000006b (...). La última parte cambiará según el numero de veces que repetamos la acción. Luego abrimos el archivo /etc/acpi/events/asus-touchpad y cambiamos la línea:

  1. event=hotkey (ATKD|HOTK) (0000006[ab]|00000037) #(por)
  2. event=hotkey ATK0100:00 0000006b

Finalmente es necesario realizar algunos cambios en el script asociado al evento ubicado en /etc/acpi/asus-touchpad.sh:

  1. XINPUTNUM=`xinput list | grep 'SynPS/2 Synaptics TouchPad' | sed -n -e's/.*id=\([0-9]\+\).*/\1/p'` #(por)
  2. XINPUTNUM=`xinput list | grep 'ImPS/2 Logitech Wheel Mouse' | sed -n -e's/.*id=\([0-9]\+\).*/\1/p'`
  3.  
  4. TPSTATUS=`xinput list-props $XINPUTNUM | awk '/Synaptics Off/ { print $NF }'` #(por)
  5. TPSTATUS=`xinput list-props $XINPUTNUM | awk '/Device Enabled/ { print $NF }'`
  6.  
  7. xinput set-int-prop $XINPUTNUM "Synaptics Off" 8 1 #(por)
  8. xinput set-int-prop $XINPUTNUM "Device Enabled" 8 1
  9.  
  10. xinput set-int-prop $XINPUTNUM "Synaptics Off" 8 0 #(por)
  11. xinput set-int-prop $XINPUTNUM "Device Enabled" 8 0

Realizados los cambios basta con reiniciar el equipo para completar el trabajo.

También he creado un patch para el archivo asus-touchpad.sh


Leer más