Hi,
how can i set the butterfly key as a double modifier key (shift & ctrl)
thx
Use LSHIFT(Key_LeftControl)
in place of Key_RightAlt
in your firmware sketch. That should do the trick!
Great it works! Very handy to select by word with the arrow keys thx
And can we add the shift to function layer also to make it triple would be great
Do you mean that the key should act as Shift + Control
and shift to the FUNCTION
layer too? In that case, the PrefixLayer plugin could be put to good use, I believe. Unless you want another key that shifts to the layer without having Shift + Control
pressed.
If the latter, then a macro could do the trick:
void macroShiftControlLayer(uint8_t keyState) {
if (keyIsPressed(keyState)) {
kaleidoscope::hid::pressKey(Key_LeftShift);
kaleidoscope::hid::pressKey(Key_LeftControl);
}
if (keyToggledOn(keyState)) {
Layer.on(FUNCTION);
}
if (keyToggledOff(keyState)) {
Layer.off(FUNCTION);
}
}
(Untested, mind you, but something along these lines.)
I mean like you press the 3 keys at the same time. The shift + control + fn
Thx for your quick response
February 28
wimstockman:
And can we add the shift to function layer also to make it triple would be great
Do you mean that the key should act as
Shift + Control
and shift to theFUNCTION
layer too? In that case, the PrefixLayer plugin could be put to good use, I believe. Unless you want another key that shifts to the layer without havingShift + Control
pressed.
If the latter, then a macro could do the trick:
> void macroShiftControlLayer(uint8_t keyState) {
> if (keyIsPressed(keyState)) {
> kaleidoscope::hid::pressKey(Key_LeftShift);
> kaleidoscope::hid::pressKey(Key_LeftControl);
> }
> if (keyToggledOn(keyState)) {
> Layer.on(FUNCTION);
> }
> if (keyToggledOff(keyState)) {
> Layer.off(FUNCTION);
> }
> }
hi,
i tried with the TMUX layer and added the keyhook
Key tmuxEventHandlerHook(Key key, byte row, byte col, uint8_t keyState) {
if (keyState & INJECTED)
return key;if (keyToggledOn(keyState) && key != ShiftToLayer(TMUX) && Layer.isOn(TMUX)) {
handleKeyswitchEvent(LSHIFT(Key_LeftControl), UNKNOWN_KEYSWITCH_LOCATION, IS_PRESSED | INJECTED);
kaleidoscope::hid::sendKeyboardReport();
handleKeyswitchEvent(LSHIFT(Key_LeftControl), UNKNOWN_KEYSWITCH_LOCATION, WAS_PRESSED | INJECTED);
kaleidoscope::hid::sendKeyboardReport();
}return key;
}
and added
Kaleidoscope.useEventHandlerHook(tmuxEventHandlerHook); in the setup function
the layer works but the hook doesnt… do anything