I want to check if a specific key is pressed in a macro

holdKeymapLayer QVM fn4
ifInterrupted final switchKeymapLayer QVM base
ifNotKeymap QVM tapKey ;

In the above macro, I want to prevent QVM base from toggling when pressing ‘; + y’, but I can’t find a way.

The above macro is bound to which key?

It looks like it is supposed to be ;, but the question asks about a key already pressed, not to be pressed.

Anyways, in the former case the answer is ifKeyActive, in the latter ifGesture. Search the forum and the docs for them please.)

1 Like
ifKeyActive $keyId.j {
ifShortcut timeoutIn 15 $keyId.k final switchKeymapLayer QVM base
else final holdKey j
}
ifKeyActive $keyId.k {
ifShortcut timeoutIn 15 $keyId.j final switchKeymapLayer QVM base
else final holdKey k
}

I use hjkl keys to move the mouse cursor.
It is more convenient to change the mode with the ifKeyActive command you mentioned.

Thanks for the hint!

ifKeyActive $keyId.leftArrow {

} // not working

How can I implement ifKeyActive for arrow keys?