09-17-2012 06:19 AM
I am running Fedora on an Edge E430. I have set the Fn-key mode to "legacy" in the BIOS so that I can hit the F1-F12 keys without having to hold the Fn key. However, this is unreliable. It seems to switch back and forth between needing the Fn key to be pressed and needing the Fn key to not be pressed. That is to say that sometimes pressing F2 registers an F2 press, and sometimes it changes the volume. It flips back and forth at random intervals, sometimes switching between one keystroke to the next, and sometimes choosing a state and staying that way for an hour or more. Is this a BIOS bug? Is there any fix?
I heavily use the F1-F12 keys in my day to day work, so this is very inconvenient and any help is appreciated.
BTW: the problem happens both with and without the Fn-Ctrl swap option set.
09-22-2012 11:43 AM
There was a recent bios update... though I don't think this addresses this at all. I mean, mine works just fine, and I have read no other reports of this. So I think it is probbaly specific to your machine. Maybe you should look into putting your warranty to use.
09-26-2012 06:18 AM
Thanks for the reply. I don't think that warranty would apply here, as it seems to clearly be a software issue (either BIOS or Linux) rather than a hardware issue. I assumed it was a BIOS issue since I think that this key translation happens before the operating system receives the scancodes. So, it shouldn't have much to do with Linux unless Linux is somehow interacting with the BIOS in some funny way.
I updated the BIOS last week or so, but I will continue to update to each new version as this bug drives me crazy!
09-27-2012 07:48 PM
Well, the bios, I would definitely consider to be part of the machine. Also, I have Arch Linux (main), Gentoo, and Funtoo on my machine, unfortunately with Windows 7 in a qemu-kvm virtual machine with virtio drivers. My fn key works perfectly in all situations.
10-27-2012 04:19 AM
I have the same problem (Gentoo Linux). I think it may be related to suspend/wakup in my case, but I'm not sure. Can we use software to turn on/off legacy mode technically?
10-27-2012 07:48 AM
Yes, it is technically possible to control it via software. In Windows there is a utility from Lenovo that will, after you hold the Fn key for a while, pop up a selector allowing toggle of legacy Fn mode. Maybe the "Linux friendly" Lenovo will tell someone in the Linux community how to implement that.
I got so tired of it being a roll of the dice whether I needed the Fn key every time I want to use a function key that I went into the BIOS and turned off legacy mode. But the bios setting had no effect! It still is random, with needing the Fn key 20% of the time and not needing it 80% of the time. Eventually I had to substitute other keystrokes for things that I was using the function keys for. Not ideal.
One strange thing that I noticed was that often the first time I press a function key I need Fn, but the second time I need to not use Fn. So pressing the keys seems to trigger a change in behavior. I don't know about sleep/wakeup, I haven't noticed any correlation but also haven't really been looking for it.
10-29-2012 09:27 AM - edited 10-29-2012 09:28 AM
I have same issue with E420s with Opensuse 12.2 (kernel 3.6.3). I have updated bios to latest 1.36 w/o change. System forgets Fn Legacy mode very often which is frustrating. Usually legacy mode is disabled after returning from Sleep. With hibernate it works but probably because it will shutdown machine completely. I think this is Bios/Software related, but If it works on Windows I think Lenovo couldn care less if it won't work properly on Linux..
When I'm pressing Fn key up to 20sec I'm getting following error in messages -log.
Oct 29 18:25:25 linux-r359 kernel: thinkpad_acpi: unknown possible thermal alarm or keyboard event received
Oct 29 18:25:25 linux-r359 kernel: thinkpad_acpi: unhandled HKEY event 0x6060
Oct 29 18:25:25 linux-r359 kernel: thinkpad_acpi: please report the conditions when this event happened to email@example.com
11-01-2012 01:19 PM
Same here (E530 with linux 3.4.9, gentoo). Seems to be fine after reboot, but if I suspend and resume it starts acting up. Karileh, did you talk to the ibm-acpi-devel folks? Maybe they have some idea.