:: Re: [DNG] Synaptics Touchpad Fn+F9
Αρχική Σελίδα
Delete this message
Reply to this message
Συντάκτης: Steve Litt
Ημερομηνία:  
Προς: dng
Αντικείμενο: Re: [DNG] Synaptics Touchpad Fn+F9
On Fri, 05 Feb 2021 12:12:33 +0100
Florian Zieboll via Dng <dng@???> wrote:

> > By first installing Windows 7 and then the Synaptic drivers on an
> > old HDD I was able to restore touchpad functionality with the Fn+F9
> > switching. This is a programmable multi-gesture touchpad which I
> > guess may have flash memory.
> >
> > There has got to be a better way....
>
>
> Hallo g4sra,
>
> as you replied off-list and I don't know of any better way, I bring
> the issue back to the list: Perhaps someone has a hint on resetting
> the device, if you'd reveal its make and model?
>
> Another idea out of thin air: Did you remove the CMOS battery - or
> does the notebook provide a button (or pins) to reset the bios
> password?
>
> libre Grüße,
> Florian
>


The following shellscript, called touchtoggle.sh, should do what you
need.

======================================================
#!/bin/sh

# touchtoggle.sh Copyright (C) 2019 by Steve Litt
# All rights reserved.
# Licensed via the
# Expat license: https://directory.fsf.org/wiki/License:Expat

# FIRST GET DEVICE'S DEVICE ID CONTAINING CASE INSENSITIVE "TOUCHPAD"
devid=`xinput | grep -i touchpad | \
sed -e"s/.*id=//" | sed -e"s/\s.*//"`

# WITH THAT DEVICE ID, FIND EVERYTING ABOUT PROPERTY
# CONTAINING CASE INSENSITIVE "DEVICE ENABLED"
scratchline=`xinput --list-props 11 | \
grep -i "device enabled" | \
sed -e"s/^\s*//" | sed -e"s/\s*$//"`
proptext=`echo $scratchline | sed -e"s/\s*(.*//"`
propid=`echo $scratchline | sed -e"s/.*(//" | sed -e"s/).*//"`
currstate=`echo $scratchline | sed -e"s/.*):\s*//"`

# DIAGNOSTICS, COMMENT OUT WHEN FULLY FUNCTIONAL
echo diagnostic devid      =$devid
echo diagnostic scratchline=$scratchline
echo diagnostic proptext   =$proptext#
echo diagnostic propid     =$propid


# TOGGLE CURRSTATE VARIABLE
echo -n "Current state of $currstate "
if test "$currstate" = "1"; then
    currstate=0
else
    currstate=1
fi
echo has been changed to $currstate.


# IMPLEMENT THE PROPERTY VALUE CHANGE
xinput set-prop $devid $propid $currstate

# UNCOMMENT FOLLOWING LINE IF PROPERTY ID STOPS WORKING
#xinput set-prop $devid "$proptext" $currstate

======================================================

I've had several versions of this shellscript, so please let me know
whether it works for you.

SteveT

Steve Litt
Autumn 2020 featured book: Thriving in Tough Times
http://www.troubleshooters.com/thrive