18

Hi I have a problem with my new USB Lenovo keyboard, I can't (don't know how) switch Fn keys in Linux, on windows it was very easy.

But I don't know what I can do on Linux to switch Fn keys (or disable), do you know any solution? I need standard functions of F1 through F12...

David Foerster
  • 36,264
  • 56
  • 94
  • 147

2 Answers2

39

enter image description here

this is the best solution what i found ;-)

  • You will be happy to know that there is someone else with the exact same solution out there :D Thanks for the pic, I was starting to think of which small heavy object I could use to keep this key pressed. All that for a keyboard of very average quality... – Adversus Sep 30 '15 at 12:11
  • 9
    Did you do the FN+ESC trick? – Natim Dec 21 '15 at 21:13
  • 2
    FN+ESC will only work directly on the laptop not this keyboard, the keyboard miss also on/off switch I think the developer of this keyboard was fool. – Maytham Fahmi Jan 08 '16 at 20:14
  • 2
    "Smart" engineers from lenovo broke that solution. Now the Fn key is between control and windows keys on the left of space bar. A paper blocker or heavy object are definitely a no go at that place. Actually putting the Fn key there is really awkward because it's very easy to mistake it with Windows key. I'm considering buying another (non lenovo) keyboard :-( – kriss Aug 17 '17 at 13:51
  • solaar installed via pip worked for me with the "K400 Plus" model. example: solaar config 1 fn-swap off – erjoalgo Jul 07 '20 at 08:28
  • solaar doesn't work for Lenovo SK-8821, it looks like this tools is intended to be used with Logitech devices – fikipollo Aug 21 '20 at 08:37
6

I found a software solution.

clone the following program from github:

git clone https://github.com/lentinj/tp-compact-keyboard.git

compile to following program:

cd tp-compact-keyboard/tp-compact-usb-keyboard
make
sudo ./tp-compact-usb-keyboard /dev/hidraw1

Maybe some errors are shown when you execute the program.

This program sent 2 keystrokes to the keyboard (0x05 and 0x01).

i think, you can't press them physically:

http://www.kbdedit.com/manual/low_level_vk_list.html

They are mapped to special keys.

this is only a temporary solution - after a reboot this settings are gone.

maybe you create a cronjob to fix it permanently:

http://www.cyberciti.biz/faq/linux-execute-cron-job-after-system-reboot/

supervacuo
  • 175
  • 1
  • 5
MaCXyLo
  • 76