Karabiner-Elements
Karabiner-Elements copied to clipboard
Not detecting fn Key in Logitech MX Keys keyboard
I have a newest Logitech MX Keys keyboard and I am unable to remap fn button with Karabiner.
This button is used for some gesture feature of Logitech that I don't need. I would really want to map it to right_option, but I can't :(
The event viewer is not printing anything when fn is pressed.
The screen brightness up/down keys are also not detected.
I confirm the problem with the fn button.
Just to add but my Xplorer Go! 300BT has the same issue. Probably a third party keyboard issue not specifically Logitech MX Keys keyboards.
Any chances for this getting fixed any time soon?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This is still an issue, please don't close.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This is still an issue, please don't close.
Is possible to resolve this?
I have the same issue.
Here the same
I have the same issue.
Lenovo Black Silk USB Keyboard. Same issue.
The Fn button is the leftmost button in the bottom row. It's a modifier for certain F keys. For example, Fn+F3 is meant to put the computer to sleep.
In EventViewer, when pressing Fn nothing is detected. While pressing F3 is detected, pressing Fn+F3 is not detected.
Same issue here
For people who have the same issue, unless you have a different keyboard make would you mind adding a 👍 to the first comment instead of commenting just to minimize spam. Thanks :)
I have a generic keyboard, and I'm experiencing the same issue. However ControllerMate does recognize the key as "Keypad 00" which I looked up has a decimal code of 176 and hexadecimal code of B0. If I recall correctly there's a way to use complex modification jsons to affect a key identified by its numeric code rather than just by its name, so perhaps we can solve this issue that way. Unfortunately I can't recall if it was decimal or hexadecimal, nor what the parameter was (I believe it was different from "key_code").
Hmm the Fn Key on the mx isn't seen on the event viewer at all so I'm not sure if it's even possible to remap it? Same goes for all the special keys on the mx keys like the screenshot button that i'd love to remap.
https://github.com/pqrs-org/Karabiner-Elements/issues/569#issuecomment-621931186.
@zecanard, the fn and FN keys are two different keys. That post is related to the fn key, not the FN key (Keypad 00). Which is not programmed into Karabiner.
That's why it doesn't show up in Elements nor Event Viewer. It's getting the signal, but it doesn't have a programmed response for that signal. That doesn't mean the signal doesn't exist at all, and I think if programmed properly using the numeric identifier a json could still modify keys that Karabiner isn't programmed to recognize.
However I'm a web designer and a game modder, not a computer programmer. So I'm not sure how to properly program a json. I did read up on it a year ago, and just recently searched through all the examples to see if I could find one similar to what I'm looking for, but I've had no luck so far. I wish Karabiner would just update their software to recognize Keypad 00 (FN) and other common non standard keys.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
This is still an issue. Please don’t close
Has anyone been able to fix this?
@tekezo Is there any debug info or anything else we can provide to help with this issue?
I retied it today in order to collect more information and I think I found the problem. The "Logi Options" software maps the fn keys to actions like "open the launchpad" and forwards the real keystroke (like "F4") as soon as the fn Key is pressed as an modifier. Then Karabiner seems to receive this Fn4 press an maps it accordingly to "Function keys"-mapping. As I have changed my "Function keys"-mappings to map f1 to f1 and so on, my fn keys worked as expected. In my case it has been kind a usererror.
TL;DR
Change this
To this

This seems to fix it.
Thx @maaeps, I wish that helped me, but it didn't. I wonder if the problem we are have is different.
Using F4/Launchpad as an example and Karabiner turned on, no matter how I setup Logi Options or Karabiner when pressing the F4 key I ONLY never receive key press events when the Fn key is being pressed. I can modify what event is sent, so that part works. It's like the entire function key row is dead unless the Fn key is pressed.
With Karabiner turned off and out of the picture the F4 key works as expected sending F4 or Launchpad appropriately when Fn is held or not held. I put this here as reference, really to say the keyboard does the right thing without Karabiner.
@gwww So do you mean you can't receive a event for the press of the fn key or you won't get an event for pressing F4 without the fn key? For me (lock open with fn + ESC) pressing just f4 opens the launchpad (as set up in Logi Options) pressing f4 + fn sends f4 to the system (as setup in Karabiner at Function keys). Pressing fn + ESC (closing the lock) reverses the behavior. Pressing just fn is never send to the system, but I think this is as intended (Windows behaves similar).
The second one. When I press F4 alone I get nothing (using Karabiner Event Viewer). When I press Fn+F4 I get either F4 or Launchpad, depending upon how I've configured the keyboard. Here's a complete table of all the combos I can think of (again, using just the F4 key for the example):
Both Logi Options and Karabiner element has a check box when configuring the keyboard for "Use all F1, F2, etc. keys as standard function keys" (the text on the checkbox is identical on both programs). In all cases I'm using the unmodified function key table in Karabiner. "Nothing happens" in the table means I see nothing in Karabiner Event Viewer and the key does not appear to do anything with any application.
| Logi Options | Karabiner | Press F4 alone | Press Fn+F4 |
|---|---|---|---|
| Unchecked | Unchecked | Nothing happens | Launchpad works |
| Checked | Unchecked | Nothing happens | Launchpad works |
| Unchecked | Checked | Nothing happens | Get F4 |
| Checked | Checked | Nothing happens | Get F4 |
Now, I modify F4 to map to F4 in Karabiner Elements, as shown in your picture. I do this for "For all device" rather than just for the MX Keys Keyboard. Not sure if that make a difference.
| Logi Options | Karabiner | Press F4 alone | Press Fn+F4 |
|---|---|---|---|
| Unchecked | Unchecked | Nothing happens | Get F4 |
| Checked | Unchecked | Nothing happens | Get F4 |
| Unchecked | Checked | Nothing happens | Get F4 |
| Checked | Checked | Nothing happens | Get F4 |
Can you think of anything else I could try?
I have unchecked this "Use all F1, F2, etc. keys as standard function keys" in both programs. And in Karabiner I have the mapping set as shown above (second screenshot). I suggest you uncheck the option in both programs, set the Function keys like this and then try F4. If nothing happens, Fn+F4 should open launchpad and just f4 should be send to the system (try this to check if this is the case). If you want to swap the behavior (fn+F4 should open launchpad), you should be able to do this by pressing fn+ESC.
I've unchecked the "Use all..." in both Logi Options and Karabiner. I have mapped F4 to F4 on the Function Keys tab in Karabiner.
Pressing F4 does nothing. Pressing Fn+F4 generates a F4 key (as would be expected).
What else could be different? I'm running MacOS 10.15.5, Karabiner Elements 12.10.0, I have disabled Hammerspoon just in case, I'm not running any other keyboard mapping software that I'm aware of.
The only difference I see to my system is the OS version (I am running 10.15.3) but this should not make any difference. Apart from the classic reinstall I am out of ideas.