Here is a frequently used macro I use for a multi-function key:
ifGesture timeoutIn 300 $thisKeyId final tapKey c
ifHold {
ifShift {
releaseKey leftShift
suppressMods tapKeySeq B
break
}
final tapKey b
}
ifShift {
releaseKey leftShift
suppressMods final tapKey A
break
}
final tapKey a
I’m not sure if this reply:
resolves the
in the first post, but I’ve been using ifGesture timeoutIn 300 $thisKeyId
with no issues.
TLDR:
Tap: a
Shift+Tap: A
Hold: b
Shift+Hold: B
Double tap for c
Hope this helps! I actually use this for productivity, in this example:
ifGesture timeoutIn 300 $thisKeyId final tapKey ~
ifHold {
ifShift {
releaseKey leftShift
suppressMods tapKeySeq ` ` ` S-enter S-enter ` ` ` upArrow
break
}
final tapKeySeq ` ` leftArrow
}
ifShift {
releaseKey leftShift
suppressMods tapKeySeq ` ` ` S-enter
break
}
final tapKey `
Tap: single backtick
Shift+Tap: 3 backticks and line break
Hold: 2 backticks and move cursor in between
Shift+Hold: 6 backticks with linebreaks and move cursor in betwreen
Double tap for ~
I use this a lot for posts like this, discord, and LLMs.