Asus U30JC touchpad Lock (Fn + F9) a Debian squeeze / sid

Pel que sembla hi ha un problema en la detecció del touchpad en alguns models de portàtils Asus, i la meva u30jc que corre un Debian squeeze / sid 32 bit no és l'excepció. Efectivament si executem la consola la comanda $ XInput list veiem que el touchpad és incorrectament reconegut com un "IMP / 2 Logitech Wheel Mouse", i per conseqüència la combinació Fn + F9 que habilitada / deshabilita el dispositiu no funciona. De moment podem fer un simple workaround canviant el scripts acpi associats a la funció desitjada:

Per començar fem:

$ sudo acpi_listen

I pressionem Fn + F9 per obtenir el codi de l'esdeveniment associat, en aquest cas: hotkey ATK0100:00 0000006b (...) . L'última part canviarà segons el nombre de vegades que repetim l'acció. Després obrim el fitxer / etc / acpi / events / asus-touchpad i canviem la línia:

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

Finalment cal fer alguns canvis en l'script associat a l'esdeveniment ubicat a / etc / acpi / asus-touchpad.sh:

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

Realitzats els canvis n'hi ha prou amb reiniciar l'ordinador per completar la feina.

També he creat un patch per l'arxiu asus-touchpad.sh

  1. asus-touchpad. sh - Etc / acpi / asus-touchpad. Sh
  2. asus-touchpad. sh + + + Etc / acpi / asus-touchpad. Sh
  3. , 23 +13 , 23 @@ @ @ -13, 23 +13, 23 @ @
  4. # To hal (or whatever is replacing hal for such events)
  5. getXconsole
  6. grep 'SynPS/2 Synaptics TouchPad' | sed -n -e 's/.*id= \( [0-9] \+ \) .*/ \1 /p' ` - XINPUTNUM = `XInput llistat | grep 'SynPS / 2 Synaptics touchpad' | set-n-e 's / .* id = \ ([0-9] \ + \) .* / \ 1 / p'`
  7. grep 'ImPS/2 Logitech Wheel Mouse' | sed -n -e 's/.*id= \( [0-9] \+ \) .*/ \1 /p' ` + XINPUTNUM = `XInput llistat | grep 'IMP / 2 Logitech Wheel Mouse' | set-n-e 's / .* id = \ ([0-9] \ + \) .* / \ 1 / p'`
  8. usr / share / acpi-support / state-funcs ] || exit 0 [-F / usr / share / acpi-support / state-funcs] | | exit 0
  9. # Get the current state of the touchpad
  10. | awk '/Synaptics Off/ { print $NF }' ` - TPSTATUS = `XInput list-props $ XINPUTNUM | awk '/ Synaptics Off / (print $ NF)'`
  11. | awk '/Device Enabled/ { print $NF }' ` + TPSTATUS = `XInput list-props $ XINPUTNUM | awk '/ Device Enabled / (print $ NF)'`
  12. # If getting the status failed, exit
  13. && exit 1 test-z $ TPSTATUS & & exit 1
  14. $TPSTATUS = 0 ] ; then if [$ TPSTATUS = 0]; then
  15. 8 1 - XInput setembre-int-prop $ XINPUTNUM "Synaptics Off" 8 gen
  16. 8 1 + XInput setembre-int-prop $ XINPUTNUM "Device Enabled" 8 gen
  17. -e / sys / class / leds / asus::touchpad / brightness ] ; then if [-e / sys / class / leds / asus:: touchpad / Brightness]; then
  18. > / sys / class / leds / asus::touchpad / brightness echo 0> / sys / class / leds / asus:: touchpad / Brightness
  19. fil
  20. else
  21. 8 0 - XInput setembre-int-prop $ XINPUTNUM "Synaptics Off" 8 0
  22. 8 0 + XInput setembre-int-prop $ XINPUTNUM "Device Enabled" 8 0
  23. -e / sys / class / leds / asus::touchpad / brightness ] ; then if [-e / sys / class / leds / asus:: touchpad / Brightness]; then
  24. > / sys / class / leds / asus::touchpad / brightness echo 1> / sys / class / leds / asus:: touchpad / Brightness
  25. fil
A menys que s'indiqui el contrari, el contingut d' Asus U30JC touchpad Lock (Fn + F9) a Debian squeeze / sid disponible a SeHablaLinux està subjecte a la Creative Commons Attribution-Share Alike 3.0 Unported License .

Un comentari

Gravatar;?>

adverick el 23 maig 2010

FRANCE FRANCE Mozilla Firefox Mozilla Firefox 3.5.9 Linux Linux

Test!

Deixeu un comentari