[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).
Notices
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.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Hi,
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:
Code:
make[1]: 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[2]: *** [/home/bodhi/Downloads/omnibook-2.20070211/ac.o] Error 1
make[1]: *** [_module_/home/bodhi/Downloads/omnibook-2.20070211] Error 2
make[1]: 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,
Royzz.
The Fn key does not register with xev on my laptop either.
Ctrl, Shift, CapsLock, Super and Alt all do.
Which leaves me to believe that Fn is special in some way - it may be processed by the keyboard hardware rather than X, to make up for the lack of keyboard space on a laptop.
Perhaps that explains why the Fn key is often coloured blue?
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.
Thanks tredegar!
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?
I just created a new account for my system, and everything works.
Hence, I deleted my old account, created a new one, copied all stuff. And now everything works.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.