Triggering something like Qukeys + OneShot with a combination of keys?

I’d like to have the LeftGui key on my layout, but not taking up one of the valuable thumb keys.

What I’d like to try is either of the following:

  1. Holding both shift keys is equivalent to holding LeftGui
  2. Pressing both shift keys activates LeftGui as a OneShot

Is either of those possible?

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?

Thanks in advance!

-mp