I demand that so may or may not have written...

> the 1000he has:

> touchpad-off as fn-F3 (hotkey ATKD 00000037 00000001),
> and backlight-off as fn-F7 (hotkey ATKD 00000016 00000002).

> these are not yet implemented.

"Backlight off" is already handled, ready for the next release.

"Touchpad off" isn't. The attached patch *should* implement it; you'll have
to test it (I can't).

BTW, if you have the event code for Fn-F4, that would be useful...

-- 
| Darren Salt      | linux at youmustbejoking | nr. Ashington, | Toon
| Debian GNU/Linux | or ds    ,demon,co,uk    | Northumberland | Army
|   Kill all extremists!

Be careful for what you wish; it might come true.

diff --git a/etc/acpi/actions/hotkey.sh b/etc/acpi/actions/hotkey.sh
index a6b1784..3d936ec 100755
--- a/etc/acpi/actions/hotkey.sh
+++ b/etc/acpi/actions/hotkey.sh
@@ -113,7 +113,11 @@ case $code in
 	;;
 
     # --/F3 - touchpad toggle
-    # (ACPI event code not known)
+    00000037)
+	/etc/acpi/actions/touchpad.sh toggle &&
+	    notify touchpad 'Touchpad on' ||
+	    notify touchpad 'Touchpad off'
+	;;
 
     # --/F4 - resolution change
     # (ACPI event code not known)
diff --git a/etc/acpi/actions/touchpad.sh b/etc/acpi/actions/touchpad.sh
new file mode 100644
index 0000000..1a5f7e4
--- /dev/null
+++ b/etc/acpi/actions/touchpad.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+set -e
+
+. /usr/share/eeepc-acpi-scripts/functions.sh
+
+detect_x_display
+
+STATE="$(synclient -l | sed -e '/TouchpadOff/! d; s/[^0-9]\+//g')"
+
+cmd="$1"
+if [ "$cmd" = toggle ]; then
+    cmd=$((1-STATE))
+fi
+
+case "$cmd" in
+    detect)
+	exit "$STATE"
+	;;
+    on|enable|1)
+	synclient -s TouchpadOff=0
+	exit 0
+	;;
+    off|disable|0)
+	synclient -s TouchpadOff=1
+	exit 1
+	;;
+    *)
+	echo "Usage: $0 [on|off|toggle]"
+	echo 'Exit state is 0 or 1, corresponding to TouchpadOff'
+	exit 2
+	;;
+esac

Reply via email to