Scheduled Maintenance: We are aware of an issue with Google, AOL, and Yahoo services as email providers which are blocking new registrations. We are trying to fix the issue and we have several internal and external support tickets in process to resolve the issue. Please see: viewtopic.php?t=158230

 

 

 

[SOLVED] Dell XPS L702X - 3 Touch Keys mapping

Need help with peripherals or devices?
Post Reply
Message
Author
User avatar
phenest
Posts: 1702
Joined: 2010-03-09 09:38
Location: The Matrix

[SOLVED] Dell XPS L702X - 3 Touch Keys mapping

#1 Post by phenest »

I have a Dell XPS 17 L702X running vanilla Wheezy. The laptop has 3 special soft touch keys above the keyboard. Using Dell software in Windows you can configure these for whatever, but in Debian/Linux they share the same functions as keyboard keys.
Key 1 -> Super_L Q
Key 2 -> Brightness Down
Key 3 -> Doesn't seem to do anything and xev doesn't report any key codes

Apparently other XPS models have similar keys with the same problem. It's not a show stopper but it would be nice to have them working.
Last edited by phenest on 2016-07-07 09:17, edited 1 time in total.
ASRock H77 Pro4-M i7 3770K - 32GB RAM - Pioneer BDR-209D

User avatar
phenest
Posts: 1702
Joined: 2010-03-09 09:38
Location: The Matrix

Re: Dell XPS L702X - 3 Touch Keys mapping

#2 Post by phenest »

I found this in the Ubuntu Wiki (https://wiki.kubuntu.org/HardwareSuppor ... ell/XPS/15):
The special touch keys are strangely mapped by default. One changes brightness, one does next track. They seem to be linked to the same key sequences as the Fn+F# keys that do the same job. To fix this, create the keymap file as /lib/udev/keymaps/dell-xps-l502x:

0x85 prog1 # Second touch key
0x84 media # Third touch key
you can test it works with:

/usr/lib/udev/keymap input/event4 /lib/udev/keymaps/dell-xps-l502x
Note that "input/event4" comes from executing:

sudo /lib/udev/findkeyboards
To add this rule permanently add in /etc/udev/rules.d/99-l502x-keys.rules :

# Keymap Dell Touch keys
SUBSYSTEM=="input", KERNEL=="event4", RUN+="keymap $name dell-xps-l502x"
Although this is for the L502x, it should work for the L702x. But I can't get it to work. The /lib/udev/keymaps directory doesn't exist on my system.

Does anyone have some idea what to do?

I'm using Debian Stretch/Testing.
ASRock H77 Pro4-M i7 3770K - 32GB RAM - Pioneer BDR-209D

User avatar
phenest
Posts: 1702
Joined: 2010-03-09 09:38
Location: The Matrix

Re: Dell XPS L702X - 3 Touch Keys mapping

#3 Post by phenest »

Apparently it can be done via /lib/udev/hwdb.d/60-keyboard.hwdb but I've no idea how or what exactly to change.

EDIT: Getting somewhere now...

Edit /lib/udev/hwdb.d/60-keyboard.hwdb (about line 265)

Code: Select all

# Dell XPS
evdev:atkbd:dmi:bvn*:bvr*:bd*:svnDell*:pnXPS*:pvr*
 KEYBOARD_KEY_8c=!unknown
 KEYBOARD_KEY_84=volumeup
 KEYBOARD_KEY_85=volumedown
Added 2 extra lines here to remap keys 2 & 3 to volumedown and volumeup. At least that makes them more useful, but I'd prefer some better mappings to use them for launching an app of my choice.
ASRock H77 Pro4-M i7 3770K - 32GB RAM - Pioneer BDR-209D

User avatar
phenest
Posts: 1702
Joined: 2010-03-09 09:38
Location: The Matrix

Re: Dell XPS L702X - 3 Touch Keys mapping

#4 Post by phenest »

I've worked it out with the help of http://thinkpad-scripts.readthedocs.io/ ... -keys.html. You will need the information from here to get your specific keyboard modalias. It may be possible to create a more generic modalias, but this will do for now.

Create a file called /lib/udev/hwdb.d/70-keyboard.hwdb

Code: Select all

# Dell XPS L702x
evdev:atkbd:dmi:bvnDellInc.:bvrA19:bd09/07/2012:svnDellInc.:pnDellSystemXPSL702X:pvr:rvnDellInc.:rn03RG89:rvrFAB1:cvnDellInc.:ct8:cvr0.1:
 KEYBOARD_KEY_84=scale
 KEYBOARD_KEY_85=cyclewindows
(there is a single space before the KEYBOARD lines)

The 2nd line begins as...
evdev:atkbd:
...and ends with your keyboard modalias (if mine doesn't work for you).

Then as root:

Code: Select all

udevadm hwdb --update
... and reboot.

Button 1 defaults to <Super>q
Button 2 is now TaskPane
Button 3 is now LaunchA

This gives 3 programmable buttons. Et voila!

EDIT: This works on Stretch/Testing, but not on Jessie.
ASRock H77 Pro4-M i7 3770K - 32GB RAM - Pioneer BDR-209D

Post Reply