[SOLVED] Function key strokes are not registering in xev
Linux - Laptop and NetbookHaving a problem installing or configuring Linux on your laptop? Need help running Linux on your netbook? This forum is for you. This forum is for any topics relating to Linux and either traditional laptops or netbooks (such as the Asus EEE PC, Everex CloudBook or MSI Wind).
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I am using a Toshiba Satellite Pro L510 running on a 2.6.38-11 Ubuntu 11.04.
My Function key strokes are not registering in Xev. None of the Functions mapped to Function keys are working as well. I tried this, but the program didn't compile.
This is the error that I get after commenting line 294 in init.c:
make: Entering directory `/usr/src/linux-headers-2.6.38-11-generic'
CC [M] /home/bodhi/Downloads/omnibook-2.20070211/ac.o
/home/bodhi/Downloads/omnibook-2.20070211/ac.c:45:44: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘ac_driver’
/home/bodhi/Downloads/omnibook-2.20070211/ac.c: In function ‘__check_ac’:
/home/bodhi/Downloads/omnibook-2.20070211/ac.c:57:1: error: ‘ac_driver’ undeclared (first use in this function)
/home/bodhi/Downloads/omnibook-2.20070211/ac.c:57:1: note: each undeclared identifier is reported only once for each function it appears in
/home/bodhi/Downloads/omnibook-2.20070211/ac.c: At top level:
/home/bodhi/Downloads/omnibook-2.20070211/ac.c:57:1: error: ‘ac_driver’ undeclared here (not in a function)
/home/bodhi/Downloads/omnibook-2.20070211/ac.c:57:1: warning: type defaults to ‘int’ in type name
/home/bodhi/Downloads/omnibook-2.20070211/ac.c:21:12: warning: ‘omnibook_ac_read’ defined but not used
/home/bodhi/Downloads/omnibook-2.20070211/ac.c:36:28: warning: ‘ac_table’ defined but not used
make: *** [/home/bodhi/Downloads/omnibook-2.20070211/ac.o] Error 1
make: *** [_module_/home/bodhi/Downloads/omnibook-2.20070211] Error 2
make: Leaving directory `/usr/src/linux-headers-2.6.38-11-generic'
make: *** [omnibook.ko] Error 2
Any ideas how to get my Function key working? Currently, I am using the Super key as an alternate to the Fn. key.
Thanks in advance,
Usually it is colored in "blue" or "yellow" or some other color to distinguish it from the general Fn.Key presses.
You see, Fn.keys(F1-F12) in laptops are also paired with some other functions (sleep, hibernate, mute, brightness etc.), which can only be accessed by pressing the Fn. Key. You will realize that even those functions are color-coded in some different color, and the Fn. key is also the same color to intuitively make users understand that those functions can only be accessed while pressing the Fn. key.
But the problem still remains inconclusive: why can't X register the Fn. key stroke?
You see, Fn.keys(F1-F12) in laptops are also paired with some other functions (sleep, hibernate, mute, brightness etc.), which can only be accessed by pressing the Fn. Key. You will realize that even those functions are color-coded in some different color, and the Fn.
Yes, yes, I know about that.
The point I am trying to make is that the Fn key is sent to the hardware of the laptop keyboard (that is too space-limited to have enough real, keys to do its proper job) and then the correct key code ("Up-Volume", or "Wireless Off/On") is sent to X. This is right and proper.
The fact that you have pressed the Fn key is not sent to X is because X does not care that you have a crippled (not enough physical keys available) keyboard. Your keyboard just sends the correct code ("Toggle wireless Off/On") when you send your keyboard the right key Fn presses.
If you do not understand this advice, reply here, and I'll do my best to follow it up.
@H_TeXMeX_H, thanks for your advice!
It actually works, though not perfectly. Only the brightness functions work, the mute, sleep,etc. options are still non-responsive.
Yep, that makes perfect sense actually. I see that it's happening. My xev registers a XF86AudioMute on pressing Fn.+Esc. However, the AudioMute event never occurs when I normally press it in X. Any ideas why?