Does anyone know how I can get the keys specific to the Thinkpad W540 keyboard working on Ubuntu? I'm thinking of keys such as those increasing or decreasing screen brightness; displaying all open windows; searching etc. These keys cover F1 to F12 on the keyboard.

Thank you.


The Lenovo w540 has function keys are overloaded with 2 functions per key. The way this works is they have either the "standard" F1-F12 mode or they have the alternate features of dimming the screen, increasing or decreasing the volume, etc.

To toggle between the modes you need to use the "Fn" key in the lower left hand corner of the keyboard. For instance Fn+F5 (the Fn and F5 key at the same time) will dim the screen, or issue an F5 command (that refreshes the browser page).

The Fn key can be locked (indicated by the green LED on the key) by hitting Fn+Esc keys at the same time. Then the function keys will act as if the Fn key is pressed.

Hope that helps.


In addition to Matt's answer, it should also be noted that the Fn and Ctrl key usage can be swapped in BIOS (see image below). This may have been set if the Fn key doesn't seem to behave as you may expect. It may also be very useful to know, as at least personally having Ctrl nearest the edge is more practical than having the Fn key there.

BIOS Fn and Ctrl Key swap


Sadly it gets even more complicated than just the FnLk button. The volume mute and increase/decrease buttons correctly send XF86AudioMute, XF86AudioRaiseVolume, and XF86AudioLowerVolume. The brightness up and down keys send XF86MonBrightnessUp and XF86MonBrightnessUp, respectively. The wireless one (F8) looks like it correctly enables and disables my wireless, as well as sending XF86WLAN. The rest are more tricky.

Mic mute, the camera one (F7), and whatever F9 through F10 are all are on /dev/input/by-path/platform-thinkpad_acpi-event (a symbolic link to /dev/input/event5 on my system), instead of the normal keyboard (/dev/input/by-path/platform-i8042-serio-0-event-kbd, a link to /dev/input/event3). I'm actively working on getting those five keys to work on my system, the code will live here once I'm done: https://github.com/AlexWillisson/tp-w540-keys I'm also documenting some of my work on getting parts of the W540 working on http://oldspeak.us/

There might be better ways to fix those keys, but I'm much more familiar with my code than with correctly configuring X devices.

The four buttons above the numpad are very strange, I'm not sure if I want to tackle them yet.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.