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:
- ATKD | HOTK ) ( 0000006 [ ab ] | 00000037 ) #(por) event = hotkey (ATKD | HOTK) (0.000.006 [ab] | 00.000.037) # (per)
- 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:
- 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 )
- 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'`
- | awk '/Synaptics Off/ { print $NF }' ` #(por) TPSTATUS = `XInput list-props $ XINPUTNUM | awk '/ Synaptics Off / (print $ NF)'` # (per)
- | awk '/Device Enabled/ { print $NF }' ` TPSTATUS = `XInput list-props $ XINPUTNUM | awk '/ Device Enabled / (print $ NF)'`
- 8 1 #(por) XInput setembre-int-prop $ XINPUTNUM "Synaptics Off" 8 1 # (per)
- 8 1 XInput setembre-int-prop $ XINPUTNUM "Device Enabled" 8 gen
- 8 0 #(por) XInput setembre-int-prop $ XINPUTNUM "Synaptics Off" 8 0 # (per)
- 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
- asus-touchpad. sh - Etc / acpi / asus-touchpad. Sh
- asus-touchpad. sh + + + Etc / acpi / asus-touchpad. Sh
- , 23 +13 , 23 @@ @ @ -13, 23 +13, 23 @ @
- # To hal (or whatever is replacing hal for such events)
- getXconsole
- 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'`
- 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'`
- usr / share / acpi-support / state-funcs ] || exit 0 [-F / usr / share / acpi-support / state-funcs] | | exit 0
- # Get the current state of the touchpad
- | awk '/Synaptics Off/ { print $NF }' ` - TPSTATUS = `XInput list-props $ XINPUTNUM | awk '/ Synaptics Off / (print $ NF)'`
- | awk '/Device Enabled/ { print $NF }' ` + TPSTATUS = `XInput list-props $ XINPUTNUM | awk '/ Device Enabled / (print $ NF)'`
- # If getting the status failed, exit
- && exit 1 test-z $ TPSTATUS & & exit 1
- $TPSTATUS = 0 ] ; then if [$ TPSTATUS = 0]; then
- 8 1 - XInput setembre-int-prop $ XINPUTNUM "Synaptics Off" 8 gen
- 8 1 + XInput setembre-int-prop $ XINPUTNUM "Device Enabled" 8 gen
- -e / sys / class / leds / asus::touchpad / brightness ] ; then if [-e / sys / class / leds / asus:: touchpad / Brightness]; then
- > / sys / class / leds / asus::touchpad / brightness echo 0> / sys / class / leds / asus:: touchpad / Brightness
- fil
- else
- 8 0 - XInput setembre-int-prop $ XINPUTNUM "Synaptics Off" 8 0
- 8 0 + XInput setembre-int-prop $ XINPUTNUM "Device Enabled" 8 0
- -e / sys / class / leds / asus::touchpad / brightness ] ; then if [-e / sys / class / leds / asus:: touchpad / Brightness]; then
- > / sys / class / leds / asus::touchpad / brightness echo 1> / sys / class / leds / asus:: touchpad / Brightness
- fil


adverick el 23 maig 2010
Test!