I do have a wireless Logitech K750 keyboard (silver Mac version) connected to a Lenovo ThinkPad (via the unifying USB receiver, together with a wireless Logitech mouse M705) and currently running Ubuntu 12.04.

By default the F-keys are mapped as multimedia/function keys, e.g. Play /Pause. As I don't use them very often, I want the F-keys to behave like the "real" F-keys (F1-F12). How can I do that?

I know there is an option in the BIOS settings, but this only toggles the built-in keyboard of the notebook, not on my wireless keyboard.

I know there is a way to change this for the Apple wireless keyboard (AppleKeyboard#Change_Function_Key_behavior), but there is no "parameters" directory in /sys/module/hid_logitech_dj/.

Any ideas? Or is there maybe a way to do this in a later Ubuntu version (13.04)?


lsusb -d 046d: shows Bus 002 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver

UPDATE 2: Thanks a lot for your help Lekensteyn. Finally Solaar works just fine. In the "Known Issues" of Solaar it says that it does not work with the Nano Receiver. But I have one and it works just fine. Just don't forget to read the installation instructions and run the rules.d/install.sh script. It also recognized my M705 Mouse.

  • I just found github.com/pwr/Solaar, it looks like it able to toggle FN keys. – Lekensteyn Apr 26 '13 at 19:59
  • According to the lsusb output, you really have a Unifying device, not a nano receiver. Do you see the Unifying icon on the receiver? – Lekensteyn Apr 29 '13 at 14:20

Solaar is a graphical utility that has the ability to configure the Fn key functionality on newer devices:

Solaar screenshot with Fn function swap configuration

Since Ubuntu 15.04 (Vivid), Solaar can be installed from the repositories (sudo apt-get install solaar). In previous versions, it is available though the ppa:daniel.pavel/solaar PPA (if you do not know how to install such a "PPA", see What are PPAs and how do I use them?). After installation, you can search for Solaar in the applications menu and start it from there.

If you prefer a command line tool, that is also available! Example usage:

$ /opt/extras.ubuntu.com/solaar/bin/solaar-cli config fn-swap
fn-swap = False
$ /opt/extras.ubuntu.com/solaar/bin/solaar-cli config fn-swap on
fn-swap = True

Note that these settings are not persistent, you will loose it after reboot. This may change in future versions of Solaar.

I have previously created the ltunify tool which is a Unifying tool that is able to communicate in the older HID++ 1.0 protocol. Until the next version of Solaar is released (current version is 0.8.7), you can use ltunify to toggle the Fn key on an older device such as the K800 keyboard.

Installation instructions (taken from https://askubuntu.com/a/114089/6969):

sudo apt-get install git gcc
git clone https://git.lekensteyn.nl/ltunify.git -b fkeyswap
cd ltunify
make install-home

The command ltunify fkeyswap shows the current status:

$ sudo ltunify fkeyswap 
F key functions are not swapped

To swap the functionality, run ltunify fkeyswap on:

$ sudo ltunify fkeyswap on
F key functions are now swapped

There is also an off action:

$ sudo ltunify fkeyswap off
F key functions are now normal

Please leave a comment if it does not work so it can be fixed. The above functionality uses undocumented hardware registers.

  • Solaar failed for me as reported at: github.com/pwr/Solaar/issues/162. Also it is in my PATH so I can do just solaar -V. – Ciro Santilli 新疆改造中心 六四事件 法轮功 May 23 '14 at 9:19
  • I tried ltunify as you described, but the command sudo ltunify fkeyswap outputs this message: Unable to check fkey status. I checked that the devices is correctly connected and paired. – Michal Vician May 5 '17 at 8:36
  • 2
    @MichalVician Newer devices use a different protocol version, try Solaar instead to control the FN keys. If the solaar package from the repos does not work, try the master branch which has many more fixes and features. – Lekensteyn May 5 '17 at 13:40

You no longer need a ppa to install this in Ubuntu 15.08 wily. Just type

sudo apt-get install solaar

at the command line.

Additionally, if you are using Unity or Gnome Shell, you can use the following command instead:

sudo apt-get install solaar-gnome

For wired keyboard like k290 use https://github.com/milgner/k290-fnkeyctl and execute command

  • 2
    While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. – Jacob Vlijm Jun 1 '14 at 11:17
  • this is link to program for doing this, use this program for swap FN keys. – MᴀʀɪᴜsᴢS Jun 1 '14 at 11:29
  • This work for K290 Keyboard on Ubuntu Vivid 15/04 – Toan Nguyen Aug 16 '15 at 6:32

Solaar can connect only to Unifying Receiver, but not through Bluetooth.

I have K780 keyboard. I observed that if I pair to different Windows machines, using the Logitech Options I have to set FN key swap individually. Therefore I paired to [2] a windows machine just to be able to use Logitech Options to swap FN keys, then I paired again [2] to my Ubuntu Laptop. The FN swap made earlier is not persisted in [2].

Therefore currently I have no way to swap FN keys from Ubuntu connected through Bluetooth. I was looking into the github repo for Solaar, there I found the documentation about the register regarding FN swap, but I couldn't find yet a solution to set that register through Bluetooth from linux.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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