Karabiner-Elements: Can't rebind other keys to 'fn'

Issue

I am trying to rebind left_control to fn and fn to left_command, but I am having the following issue:

  • physical fn works correctly as left_command, but it also toggles the touch bar to show the F-keys as it did before my change
  • physical left_control does not toggle the touch bar and seems to not do anything

I have seen a lot of issues where people lose the fn functionality when karabiner-elements is running, but I seem to be having the opposite problem in a way. I can’t stop the physical fn key from behaving like fn or move the functionality to another key. I have also confirmed the same problem happens if I try to bind other keys to fn.

Versions

Laptop: Macbook Pro 15 (2016) OSX: 10.12.5 Karabiner-Elements: 0.90.92

Event viewer results

Pressing physical fn:

eventType:FlagsChanged    code:0x37       name:left_command    flags:Cmd                                misc:characters:    
eventType:FlagsChanged    code:0x37       name:left_command    flags:                                   misc:characters:    

Pressing physical left_control:

eventType:FlagsChanged    code:0x3f       name:fn              flags:Fn                                 misc:characters:    
eventType:FlagsChanged    code:0x3f       name:fn              flags:                                   misc:characters:    

Config

{
    "global": {
        "check_for_updates_on_startup": true,
        "show_in_menu_bar": true,
        "show_profile_name_in_menu_bar": false
    },
    "profiles": [
        {
            "devices": [
                {
                    "disable_built_in_keyboard_if_exists": false,
                    "identifiers": {
                        "is_keyboard": true,
                        "is_pointing_device": false,
                        "product_id": 50475,
                        "vendor_id": 1133
                    },
                    "ignore": true
                },
                {
                    "disable_built_in_keyboard_if_exists": false,
                    "identifiers": {
                        "is_keyboard": true,
                        "is_pointing_device": false,
                        "product_id": 34304,
                        "vendor_id": 1452
                    },
                    "ignore": true
                }
            ],
            "fn_function_keys": {
                "f1": "display_brightness_decrement",
                "f10": "mute",
                "f11": "volume_decrement",
                "f12": "volume_increment",
                "f2": "display_brightness_increment",
                "f3": "mission_control",
                "f4": "launchpad",
                "f5": "illumination_decrement",
                "f6": "illumination_increment",
                "f7": "rewind",
                "f8": "play_or_pause",
                "f9": "fastforward"
            },
            "name": "Default profile",
            "selected": true,
            "simple_modifications": {
                "caps_lock": "escape",
                "fn": "left_command",
                "left_command": "left_control",
                "left_control": "fn"
            },
            "virtual_hid_keyboard": {
                "caps_lock_delay_milliseconds": 0,
                "keyboard_type": "ansi"
            }
        }
    ]
}

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 1
  • Comments: 16

Most upvoted comments

As of v11.6.0 this issue still stands.

v12.0.0 still has this bug

@yougotwill @josh-collinsworth https://github.com/tekezo/Karabiner-Elements/issues/1617

Guys, try to start debug or something for key inputs, check your fn key and then edit needed files and build your own edition of Karabiner-Elements