You are not logged in.

#1 2016-02-17 01:06:48

beanaroo
Member
Registered: 2013-03-05
Posts: 39

XF86TouchpadToggle stopped working on Lenovo G780.

I have noticed that sometime in the past few months, the disable touchpad (Fn+F6) button stopped working.

Back when I was running GNOME, it would work and even pop up a nice OSD, but I didn't really use it. Now that I'm running i3, I would like to make use of it. Neither xev nor showkey -k produce any output. Same for Fn+F4, but I've never used it.

I decided to install GNOME to test, and to my surprise, it isn't working there either. No response.

I thought it could maybe be a libinput issue, so I switched back to evdev+synaptics. No change.

Any advice?

Last edited by beanaroo (2016-02-17 01:09:30)

Offline

#2 2016-02-17 11:18:10

ymihc
Member
Registered: 2016-02-03
Posts: 21

Re: XF86TouchpadToggle stopped working on Lenovo G780.

You could use xinput for that purpose; that's how I do it in i3, and have done it in XFCE and GNOME (please note, that this script is not written by myself, I found it a couple of years online, but didn't remember where):

#!/bin/bash

declare -i ID
ID=`xinput list | grep -Eio 'touchpad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
declare -i STATE
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'`
if [ $STATE -eq 1 ]
then
    xinput disable $ID
    notify-send 'Touchpad DISABLED'
else
    xinput enable $ID
    notify-send 'Touchpad ENABLED'
fi

Save that, for example, as touchpad_toggle.sh and make it executable. notify-send will give you a visual feedback (e.g. through dunst), but you can uncomment that if you don't like it.

You can call the toggle in your i3 config via a simple combination like

bindsym $mod+t exec ~/Scripts/touchpad_toggle.sh

or via your XF86* touchpad button. You can get the exact name of your touchpad button with several methods: https://wiki.archlinux.org/index.php/ex … board_keys

Most likely it will be XF86TouchpadToggle, so you could execute the script with

bindsym XF86TouchpadToggle exec ~/Scripts/touchpad_toggle.sh

Please adjust the path to the script accordingly and make sure to restart i3.

Edit: I missed the fact that you already mentioned the key name "XF86TouchpadToggle" in your topic title; in that case you can use it, like I described it above, in your i3 config file.

Edit II: showkey needs to be executed form a virtual console (copied from the wiki page, link above):

For showkey to work you need to be in a virtual console, not in a graphical environment or logged in via a network connection.

Maybe that was the problem why it didn't show anything at all?

Edit III, the last time: One of the first search results with google "i3 touchpad toggle" leads to this thread: https://faq.i3wm.org/question/3747/enab … eys.1.html with a comparable solution like I described above. Please consider to do your own research before starting a new thread. Thanks!

Last edited by ymihc (2016-02-17 11:58:45)

Offline

#3 2016-02-17 13:43:49

beanaroo
Member
Registered: 2013-03-05
Posts: 39

Re: XF86TouchpadToggle stopped working on Lenovo G780.

ymihc, thank you for taking the time to respond and sharing your script. I don't think you understand the problem. I am well aware of how to discover and bind media keys.

xev and showkeys work for all keys except Fn+F6 and Fn+F4. The computer isn't registering any the keycodes for those buttons.

Last edited by beanaroo (2016-02-17 13:44:07)

Offline

#4 2016-02-17 13:58:29

ymihc
Member
Registered: 2016-02-03
Posts: 21

Re: XF86TouchpadToggle stopped working on Lenovo G780.

beanaroo, thanks for your clarification - I misunderstood your problem and might have been to fast with a "solution", I'm sorry about that!

Since xev and showkeys don't register these keys you could try to use dmesg instead, like described here: https://wiki.archlinux.org/index.php/ex … sing_dmesg. Maybe you're able to obtain the scancode via this route and map the keys (scancode to keycode).

Last edited by ymihc (2016-02-17 14:00:09)

Offline

#5 2016-02-17 14:45:43

beanaroo
Member
Registered: 2013-03-05
Posts: 39

Re: XF86TouchpadToggle stopped working on Lenovo G780.

Thanks for suggesting. Unfortunately it gives no output either. I also tried acpi_listen.

Offline

#6 2016-02-17 14:58:54

ymihc
Member
Registered: 2016-02-03
Posts: 21

Re: XF86TouchpadToggle stopped working on Lenovo G780.

Okay. Is there any output if you just press F4 and F6 without the Fn-key (just to eliminate a possible hardware problem with the keys)?

Edit: I've read in one of your previous posts that

xev and showkeys work for all keys except Fn+F6 and Fn+F4.

but it is not entirely clear (for me) if you "only" tried all Fn + X combinations or really all keys / all F1 to F12 keys (without Fn). That's why I'm asking.

Last edited by ymihc (2016-02-17 15:11:06)

Offline

#7 2016-02-17 15:32:58

beanaroo
Member
Registered: 2013-03-05
Posts: 39

Re: XF86TouchpadToggle stopped working on Lenovo G780.

Yep, all keys respond as expected, without Fn. All other Fn combos work too. I have a feeling there may be a regression somewhere but I'm uncertain where to start looking.

For reference: http://i.imgur.com/kfp7V88.jpg

The user manual says Fn+F4 is "Open display resolution settings", which I wouldn't really use.

Either way, I can still assign your nice xinput script to any other combo.

Offline

Board footer

Powered by FluxBB