Karabiner-Elements icon indicating copy to clipboard operation
Karabiner-Elements copied to clipboard

Not detecting fn Key in Logitech MX Keys keyboard

Open wilczarzgit opened this issue 6 years ago • 58 comments

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.

wilczarzgit avatar Oct 07 '19 13:10 wilczarzgit

The screen brightness up/down keys are also not detected.

paour avatar Oct 09 '19 15:10 paour

I confirm the problem with the fn button.

k3dvar avatar Oct 14 '19 09:10 k3dvar

Just to add but my Xplorer Go! 300BT has the same issue. Probably a third party keyboard issue not specifically Logitech MX Keys keyboards.

yougotwill avatar Oct 23 '19 10:10 yougotwill

Any chances for this getting fixed any time soon?

wilczarzgit avatar Oct 25 '19 12:10 wilczarzgit

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.

stale[bot] avatar Dec 24 '19 12:12 stale[bot]

This is still an issue, please don't close.

paour avatar Dec 24 '19 15:12 paour

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.

stale[bot] avatar Feb 22 '20 16:02 stale[bot]

This is still an issue, please don't close.

yougotwill avatar Feb 23 '20 01:02 yougotwill

Is possible to resolve this?

WerVa avatar Feb 25 '20 21:02 WerVa

I have the same issue.

Gamec avatar Mar 13 '20 16:03 Gamec

Here the same

SarahThomsen avatar Mar 19 '20 11:03 SarahThomsen

I have the same issue.

ghost avatar Mar 29 '20 21:03 ghost

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.

this-is-rafa avatar Apr 03 '20 14:04 this-is-rafa

Same issue here

joobaa avatar Apr 09 '20 11:04 joobaa

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 :)

yougotwill avatar Apr 09 '20 23:04 yougotwill

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").

Sweek9 avatar May 03 '20 03:05 Sweek9

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.

Helmi avatar May 06 '20 09:05 Helmi

https://github.com/pqrs-org/Karabiner-Elements/issues/569#issuecomment-621931186.

zecanard avatar May 06 '20 14:05 zecanard

@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.

Sweek9 avatar May 07 '20 19:05 Sweek9

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.

stale[bot] avatar Jul 06 '20 19:07 stale[bot]

This is still an issue. Please don’t close

yougotwill avatar Jul 07 '20 00:07 yougotwill

Has anyone been able to fix this?

fischerscode avatar Jul 12 '20 22:07 fischerscode

@tekezo Is there any debug info or anything else we can provide to help with this issue?

gwww avatar Aug 06 '20 20:08 gwww

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 KarabinerDefaultFnKeys To this NewKarabinerFnKeys

This seems to fix it.

fischerscode avatar Aug 07 '20 11:08 fischerscode

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 avatar Aug 07 '20 13:08 gwww

@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).

fischerscode avatar Aug 07 '20 17:08 fischerscode

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?

gwww avatar Aug 07 '20 19:08 gwww

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.

fischerscode avatar Aug 08 '20 09:08 fischerscode

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.

gwww avatar Aug 08 '20 15:08 gwww

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.

fischerscode avatar Aug 09 '20 15:08 fischerscode