• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Neither xbindkeys nor xev will recognize some Fn keys!

Agi93

Member

Thanks: 1
Messages: 43

#1
I am trying to use xbindkeys to assign brightness, volume, sleep, etc. controls to my Fn + F* keys, but only the mute, volume down, and volume up key combinations are recognized by xbindkeys. When I run $ xbindkeys -mk and press Fn + F5 (the brightness down key), it is not recognized at all. For keys that work, I get something like the following (for Fn + F2 Mute key):

Code:
"(Scheme Function)"
    m:0x0 + c:140
    NoSymbol
Right now, (UPDATE: RIGHT NOW THIS IS EVEN HAPPENING WITH MY Fn VOLUME KEYS (Fn + F2, Fn + F3, and Fn + F4) I get the following from pressing Fn + F5 (Brightness Down):

Code:
XIO:  fatal IO error 35 (Resource temporarily unavailable) on X server ":0.0"
      after 17 requests (12 known processed) with 0 events remaining.
I don't know what this means besides the fact something messed up.

I know this should work on my computer because the same process worked perfectly in Linux. Also, the volume key combinations I set are currently working (I press Fn + F3 and the volume goes up 5).

Hopefully someone here can help.
 

mav@

Aspiring Daemon
Developer

Thanks: 216
Messages: 702

#2
May be it is vendor/model-specific, but on my Acer TM6292 brightness keys work in some hardware way without OS support. Volume, suspend and other special keys with unsupported codes I've successfully mapped to proper X events via writing custom key map.
 

aragon

Daemon

Thanks: 272
Messages: 2,031

#3
mav@ said:
Volume, suspend and other special keys with unsupported codes I've successfully mapped to proper X events via writing custom key map.
Any idea if/how this will work for getting multimedia keys on USB keyboards working? (volume, play, stop, etc.)
 

mav@

Aspiring Daemon
Developer

Thanks: 216
Messages: 702

#4
Additional keys on USB keyboard could be reported or as usual keys, or via additional HID device. In later case you should see addition uhidX device during boot and should use some applications to work with it. For example, usbhidctl.
 

Agi93

Member

Thanks: 1
Messages: 43

#5
So would I use this usbhidctl to find out how FreeBSD recognizes these key combinations (if it does)?

I read on the ubuntu forums that another person was having this exact problem, and I know FreeBSD is not Linux and all, but it was decided that the guy there needed acpi to recognize his keys. For some reason it was being a little weird on his system. I checked out the acpi man page, but I can't really figure out what's wrong. It seems like it starts up with the kernel or at boot automatically, so these keys should be recognized.

:(
 

mav@

Aspiring Daemon
Developer

Thanks: 216
Messages: 702

#6
ACPI is an one more way for vendors to implement additional keys on laptops. There are additional kernel modules for some kinds of laptops, but I haven't touched it really.
 

Agi93

Member

Thanks: 1
Messages: 43

#7
I found out that there is an acpi_sony kernel module for FreeBSD, so I tried loading it and tested my Fn keys out, but they still didn't work in xbindkeys -k. The acpi_sony module is far from feature rich and is not being developed very actively from what I've read after some googling (whereas the acpi_ibm module is very robust). Darn. I was really hoping this would have fixed it.
 

aragon

Daemon

Thanks: 272
Messages: 2,031

#8
In my case I get a uhid device and ukbd device, but if I try use usbhidctl on the uhid device I don't get any items shown. This is a Logitech Wave keyboard.
 

sixtydoses

Well-Known Member

Thanks: 59
Messages: 400

#9
@aragon - My USB keyboard multimedia keys don't work as well. I stumbled on your post in a different thread mentioning about using USB-ps/2 converter and I've been using it since then and most of the multimedia keys are working now (haven't mapped all yet). Love all of them especially the volume wheel. I'm using Gigabyte GK-K6800. Thanks.
 

UncleBAZINGA

New Member

Thanks: 2
Messages: 18

#11
First of all sorry for digging out such an old thread, but the OPs issue perfectly describes my issue as well. I'm using 10.2-RELEASE with GENERIC on a Samsung Series5 Ultrabook and the only Fn + F* keys working are those for volume control. I would love to use them in conjunction for display brightness. Recently I've tried 11-CURRENT, but it's the same. Does anybody know if and when those functions / keys will be supported by FreeBSD?
 
Last edited:

wblock@

Administrator
Staff member
Administrator
Moderator
Developer

Thanks: 3,558
Messages: 13,856

#12
It might not be possible. On USB keyboards, some keys can be seen as attached to separate USB devices that are not keyboards. usbhidaction(1) can be used for those.

On a notebook, some special keys are not handled the same as the rest of the keyboard. They might not be seen at all, or might require a special daemon to be running. Sometimes the functions on those keys can be called separately with a program.
 

kpa

Beastie's Twin

Thanks: 1,673
Messages: 6,084

#13
Worse yet, on some laptops the special keys are not even on a USB hid device but on an ACPI device that needs a special driver from the manufacturer for them to work. Lenovo SL300 that I happen to have is one such machine.
 

Juha Nurmela

Well-Known Member

Thanks: 120
Messages: 401

#15
This is a HP ProBook 6550b. Fn+F9 and Fn+F10 are marked to control display brightness. They did not do anything. windowmaker did not want to capture those keys. It needs keysymbols, I guess. xev did show the keycodes though. I added
xmodmap -e 'keycode 146 = XF86KbdBrightnessDown' -e 'keycode 151 = XF86KbdBrightnessUp'
and now windowmaker captures the key combinations ok. Also now, as windowmaker has a grab to those keys, xev does not show them any more, just a whirl of FocusIn/Out/... The KeyPress/Release proper is missing. This is normal, I think.
I have the keys as menu accelerators in "Appearance" menu, executing intel_backlight. I guess it's similar to xbindkeys.

I wonder if there is a way to list existing keygrabs.

Juha