-   Linux - General (
-   -   XEV not returning keyboard scancode for particular key... (

Thymox 09-12-2002 07:45 PM

XEV not returning keyboard scancode for particular key...
I've just bought myself a new toy! I got a wireless (RF) 'multimedia' keyboard and mouse combo setup. I downloaded Lineak to use the little row of buttons along the top, and I must admit that Lineak works extraordinarily well! I'm impressed. The lineak documentation suggests using xev to discover the scancodes for these buttons... which it duly did. However, I also have an extra button on the keyboard itself, not as part of the 'multmedia' setup. It's just below the enter key, to the right of the right-hand shift, and above the right-hand ctrl, and is labelled 'Fn'. Running xev and pressing this key has no effect what-so-ever. I was wondering if anyone knows how to discover keyboard scancodes in any other way? Oh, and BTW, this key also seems to be functionless under Windows. I had considered simply removing both it and the shift key next to it, however, it uses a different seating mechanism to the rest of my keyboards, so I would not be able to replace them... D'oh!

Any imput would be greatly appreciated.

Cheers muchly.


maejrep 04-07-2003 06:59 AM

Normally, an "Fn" key (most commonly seen on a laptop keyboard. It stands for "Function") is not meant to be used or interpreted by the computer. If I had to guess, I'd say that key is to be used for some function that is specific to that device, and possibly used to control it in some way (like, to synch with the base, or to choose a new frequency, or some other option like that). I'm fairly certain that that key does not have a PC function.

iceman47 04-07-2003 09:09 AM

I had a keyboard with an fn button once, but the only thing I can remember is that when I pushed fn + F10 or F11 the keyboard locked up untill I pressed that combination again

mlalkaka 06-08-2006 01:35 AM

Go to a real console (tty1, tty2, etc.) by pressing Ctrl+Alt+F1. Log in, and then execute the following command as root at the prompt:

dmesg -c
Now press the Fn key on your keyboard. You may see a message like

atkbd.c: Unknown key pressed (translated set 2, code 0x9e on isa0060/serio0).
atkbd.c: Use 'setkeycodes e01e <keycode>' to make it known.

If you don't see that message, then run the following command to see it (don't have to be root):

If you still do not see that message, then chances are the Fn key on your keyboard is not meant to be used alone. It is probably meant to be used along with other keys on your keyboard to accomplish certain, unconventional tasks -- much like the Fn key on a laptop keyboard.

If you do see the output above, then all you need to do is run the command that is specified in the message, replacing <keycode> with an unused keycode (usually a number between 120 and 255; use the command "dumpkeys" to find an unused keycode). That should get the key working, although I still don't know for what it's used. Note: if you want the changes you have made to always apply, you will have to make the "setkeycodes" command run on startup. You can do this by editing a file in /etc/init.d, such as if you have it.
