Both options should be doable with the MagicCombo plugin. Though, MagicCombo doesn’t mask the original keys, so in the handler that runs when both shift are pressed, you will need to release the shifts before pressing LeftGui.
Hello, I want to do something similar but I ran into the “MagicCombo doesn’t mask the original keys”… I’m trying to magiccombo a shift and the palm key but my shift has a SpaceCadet mapping. I’ve tried
void magicLGUI(uint8_t combo_index) {
bool sca = 0;
if (SpaceCadet.active()) {
SpaceCadet.disable();
sca = 1;
}
/* this doesnt work either
kaleidoscope::hid::releaseKey(Key_LeftShift);
*/
kaleidoscope::hid::pressKey(Key_Cancel);
kaleidoscope::hid::sendKeyboardReport();
kaleidoscope::hid::pressKey(Key_LeftGui);
kaleidoscope::hid::sendKeyboardReport();
kaleidoscope::hid::releaseKey(Key_LeftGui);
if (sca) {
SpaceCadet.enable();
}
}
but seems due to the non masking of the key press, spacecadet will get the event regardless and will emit . If there is no other way to implement a magic combo on
a space cadet key, I suppose a trivial Key_Backspace would do?