Karabiner-Elements: Latest Karabiner Elements driver update breaks inserting symbols in VSCode
Updated to latest VSCode and updated the driver.
Now I have a massive regression where in VSCode with Karabiner on, I can’t enter some characters.
Above image is perfect example. With karabiner elements quit, when I type the as above, it works.
With karabiner elements on, it will always eat the h character no matter what.
I can replicate this 100% of times and its a massive issue as I can’t type properly now now that I updated to latest Karabiner.
I also at first opened issue in VSCode issue tracker: https://github.com/microsoft/vscode/issues/192707
But it seems now the issue is fully on Karabiner Elements and its new driver.
Please help resolve this regression.
I initially noticed it when I tried to enter my console.log() binding with karabiner. From this config
{
"global" : {
"ask_for_confirmation_before_quitting" : true,
"check_for_updates_on_startup" : true,
"show_in_menu_bar" : true,
"show_profile_name_in_menu_bar" : false,
"unsafe_ui" : false
},
"profiles" : [ {
"complex_modifications" : {
"parameters" : {
"basic.simultaneous_threshold_milliseconds" : 30,
"basic.to_delayed_action_delay_milliseconds" : 0,
"basic.to_if_alone_timeout_milliseconds" : 80,
"basic.to_if_held_down_threshold_milliseconds" : 50
},
"rules" : [ {
"description" : "test",
"manipulators" : [ {
"from" : {
"key_code" : "a"
},
"to" : [ {
"key_code" : "c"
}, {
"key_code" : "o"
}, {
"key_code" : "n"
}, {
"key_code" : "s"
}, {
"key_code" : "o"
}, {
"key_code" : "l"
}, {
"key_code" : "e"
}, {
"key_code" : "period"
}, {
"key_code" : "l"
}, {
"key_code" : "o"
}, {
"key_code" : "g"
}, {
"key_code" : "9",
"modifiers" : [ "left_shift" ]
}, {
"key_code" : "0",
"modifiers" : [ "left_shift" ]
}, {
"key_code" : "left_arrow"
} ],
"conditions" : [ {
"name" : "dot-mode",
"value" : 1,
"type" : "variable_if"
} ],
"type" : "basic"
}, {
"type" : "basic",
"parameters" : {
"basic.simultaneous_threshold_milliseconds" : 250
},
"to" : [ {
"set_variable" : {
"name" : "dot-mode",
"value" : 1
}
}, {
"key_code" : "c"
}, {
"key_code" : "o"
}, {
"key_code" : "n"
}, {
"key_code" : "s"
}, {
"key_code" : "o"
}, {
"key_code" : "l"
}, {
"key_code" : "e"
}, {
"key_code" : "period"
}, {
"key_code" : "l"
}, {
"key_code" : "o"
}, {
"key_code" : "g"
}, {
"key_code" : "9",
"modifiers" : [ "left_shift" ]
}, {
"key_code" : "0",
"modifiers" : [ "left_shift" ]
}, {
"key_code" : "left_arrow"
} ],
"from" : {
"simultaneous" : [ {
"key_code" : "period"
}, {
"key_code" : "a"
} ],
"simultaneous_options" : {
"detect_key_down_uninterruptedly" : true,
"key_down_order" : "strict",
"key_up_order" : "strict_inverse",
"key_up_when" : "any",
"to_after_key_up" : [ {
"set_variable" : {
"name" : "dot-mode",
"value" : 0
}
} ]
}
}
} ]
} ]
},
"devices" : [ {
"disable_built_in_keyboard_if_exists" : false,
"fn_function_keys" : [ ],
"identifiers" : {
"is_keyboard" : true,
"is_pointing_device" : false,
"product_id" : 834,
"vendor_id" : 1452
},
"ignore" : false,
"manipulate_caps_lock_led" : true,
"simple_modifications" : [ ],
"treat_as_built_in_keyboard" : false
}, {
"disable_built_in_keyboard_if_exists" : false,
"fn_function_keys" : [ ],
"identifiers" : {
"is_keyboard" : false,
"is_pointing_device" : true,
"product_id" : 834,
"vendor_id" : 1452
},
"ignore" : true,
"manipulate_caps_lock_led" : false,
"simple_modifications" : [ ],
"treat_as_built_in_keyboard" : false
}, {
"disable_built_in_keyboard_if_exists" : false,
"fn_function_keys" : [ ],
"identifiers" : {
"is_keyboard" : true,
"is_pointing_device" : false,
"product_id" : 34304,
"vendor_id" : 1452
},
"ignore" : false,
"manipulate_caps_lock_led" : true,
"simple_modifications" : [ ],
"treat_as_built_in_keyboard" : false
} ],
"fn_function_keys" : [ {
"from" : {
"key_code" : "f1"
},
"to" : [ {
"consumer_key_code" : "display_brightness_decrement"
} ]
}, {
"from" : {
"key_code" : "f2"
},
"to" : [ {
"consumer_key_code" : "display_brightness_increment"
} ]
}, {
"from" : {
"key_code" : "f3"
},
"to" : [ {
"apple_vendor_keyboard_key_code" : "mission_control"
} ]
}, {
"from" : {
"key_code" : "f4"
},
"to" : [ {
"apple_vendor_keyboard_key_code" : "spotlight"
} ]
}, {
"from" : {
"key_code" : "f5"
},
"to" : [ {
"consumer_key_code" : "dictation"
} ]
}, {
"from" : {
"key_code" : "f6"
},
"to" : [ {
"key_code" : "f6"
} ]
}, {
"from" : {
"key_code" : "f7"
},
"to" : [ {
"consumer_key_code" : "rewind"
} ]
}, {
"from" : {
"key_code" : "f8"
},
"to" : [ {
"consumer_key_code" : "play_or_pause"
} ]
}, {
"from" : {
"key_code" : "f9"
},
"to" : [ {
"consumer_key_code" : "fast_forward"
} ]
}, {
"from" : {
"key_code" : "f10"
},
"to" : [ {
"consumer_key_code" : "mute"
} ]
}, {
"from" : {
"key_code" : "f11"
},
"to" : [ {
"consumer_key_code" : "volume_decrement"
} ]
}, {
"from" : {
"key_code" : "f12"
},
"to" : [ {
"consumer_key_code" : "volume_increment"
} ]
} ],
"name" : "goku",
"parameters" : {
"delay_milliseconds_before_open_device" : 1000
},
"selected" : true,
"simple_modifications" : [ {
"from" : {
"key_code" : "caps_lock"
},
"to" : [ {
"key_code" : "escape"
} ]
} ],
"virtual_hid_keyboard" : {
"country_code" : 0,
"indicate_sticky_modifier_keys_state" : true,
"mouse_key_xy_scale" : 100
}
} ]
}
It will enter this:
When it should be this:
About this issue
- Original URL
- State: closed
- Created 10 months ago
- Comments: 22 (6 by maintainers)
@tekezo yes its https://marketplace.visualstudio.com/items?itemName=vscodevim.vim
Can you try install it and try it again with the extension. I turned off the extension and everything works. Turn it back on and it breaks.
Extension code is here: https://github.com/VSCodeVim/Vim
It seems like the issue is on their side.
Issue here: https://github.com/VSCodeVim/Vim/issues/8603
So seems you can revert your attempted fix on 14.12.23 😃
@nikitavoloboev Thank you! It helped me a lot. In the process of gamepad support, Karabiner-Elements has increased the number of device events it supports (e.g. Z-rotation), so I think this is the effect of that. I’ll continue to investigate and will keep you posted.
@tekezo
Ok so I made a video of downgrading to 12.17 and testing it out.
Video here: https://www.youtube.com/watch?v=RtEQndiFFFc
Summary is that it fails there too.
I am starting to think it’s something with VSCode that is broken. The thing is that I can replicate this on another mac too. After updating to latest Karabiner and trying it it in VSCode insiders. It breaks on any vscode though, not just insiders. Normal VSCode version. Also Cursor which builds on VSCode too. I don’t get it.
If it is issue with VSCode, I don’t even know what issue I should write in their repo.
Again, things worked well before I did an upgrade to latest version, something happened there. Strange you can’t replicate it. 🤔