Hi, just made the mistake of upgrading to macOS sierra! Happy you're at work on this and would love to help.
I'm wondering how to add modifier flags to karabiner.json like I had in my private.xml file for mapping escape to shift + command:
<?xml version="1.0"?>
<root>
<item>
<name>esc to command+shift</name>
<identifier>private.esc_to_cmd_shift</identifier>
<autogen>
__KeyToKey__
KeyCode::ESCAPE,
KeyCode::SHIFT_L, ModifierFlag::COMMAND_L
</autogen>
</item>
</root>
I'm assuming it won't be under simple_modifications, but I can't find anywhere in the code for adding a more complex modification. Do you know when I might be able to use this functionality?
HI @ryantuck. I believe multi-key support hasn't yet been implemented. See the file: https://github.com/tekezo/Karabiner-Elements/blob/6f4cb0936bfd7e08042a0ebca2f797f037f3893c/src/share/configuration_core.hpp
I think modifier key support is very important, it would be wonderful to have a roadmap (probably in the wiki), plus per feature donation would be really nice - unfortunately I never worked with cpp, so I'm not that much of a help in terms of actual contributions :(
I feel the same way @ryantuck -- I upgraded to macOS Sierra this morning. I regret it because now my multikey bindings no longer work. Just like @szkrd I have not programmed in C++ in a long time, but hey, this is such an important thing for me then maybe I should contribute anyway.
I also upgraded to Sierra and have no way back.
My ] key doesn't work, so I had it remapped in private.xml as Option + [:
<?xml version="1.0"?>
<root>
<item>
<name>opt + [ = ]</name>
<identifier>private.option_plus_lbracket_to_rbracket</identifier>
<autogen>
__KeyToKey__ KeyCode::BRACKET_LEFT, ModifierFlag::OPTION_R, KeyCode::BRACKET_RIGHT
</autogen>
</item>
</root>
For now, I decided to sacrifice my F12 key.
I don't know if it helps, but I ended up using ukelele with karabiner for now. It's not the best solution, but the custom keymap helps a lot.
+1 on the idea of delivering a working, QWERTY-agnostic MultiKey feature through customizable modifiers.
For context: we used to do this with "old" Karabiner by mapping a key to Ctrl-Shift-F13 and applying this DefaultKeyBinding.dict; see e.g. this article on Think Different.
I am using Mac OS X Sierra on an actual MacBook, with French (AZERTY) keyboard. The aforementioned setup worked well for me on the same hardware and Mac OS X Yosemite. Additionally I tried the following:
^$-ified "\UF710" in DefaultKeyBinding.dict) works fine in e.g. Chrome, but not in Terminal: it spits ^[[25~ to the console instead, and I am at a loss on how to disable that in its Preferences. I figure the Ctrl+Shift part was supposed to prevent Terminal from interpreting the surrogate key (and it still does work, in the sense that I do have a working MultiKey right now with a Ctrl+Shift+say, RightCmd combo, with RightCmd being remapped to F13 with Karabiner Elements and an unmodified DefaultKeyBinding.dict)non_us_backslash key (it's my @ / # key on top left) that I don't want to sacrifice.Thus, the ability to add modifiers to F13 is the only thing standing between me and a working, Terminal-friendly, fully customizable, and RSI-free Compose key.
Looking forward to the return of modifier keys as well - my whole setup depends on them. I'm offering a $50 bounty on this one (sent via bitcoin). If there is a better way to do this let me know :)
You can use this app in addition to Karabiner-Elements for the simple multikeys setup: 鈱樿嫳銇嬨仾. It's in japanese but pretty easy to figure out.
Also rely heavily on multi-key support. I would pay money to have this. Is there a bounty system?
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.
Most helpful comment
I think modifier key support is very important, it would be wonderful to have a roadmap (probably in the wiki), plus per feature donation would be really nice - unfortunately I never worked with cpp, so I'm not that much of a help in terms of actual contributions :(