Caps word and caps shift that work with Runtime macros

I encountered some challengers getting a caps shift working that played nicely with the runtime macros (the shift aspect) here are what I found works for me:

Caps word
Mapped to space so that shift plus space triggers the caps word with puts everything in CAPS until space is hit again.

ifShift goTo 4
ifRegEq 5 1 setReg 5 0
ifNotShift tapKey space
break
tapKey space
pressKey LS-
setReg 5 1
ifRegEq 5 1 goTo @0

Caps shift:
Mapped to shift, double tap of shift turns on caps. Double tap turns off.

holdKey iLS-
ifNotDoubletap break
pressKey capsLock
delayUntil 400
releaseKey capsLock```
4 Likes

Have you updated your macros? I found these commands do not work any longer.

Apologies for the delay in response.
I changed “Caps word” but not the “Caps shift”
Caps word has changed to this

ifShift goTo 4
if($capsWord == 1) setVar capsWord 0
ifNotShift tapKey space
break
tapKey space
pressKey LS-
setVar capsWord 1
if($capsWord == 1) goTo $currentAddress

And then in $onInit I initialise the capsWord variable

setVar capsWord 0

1 Like

hello, this does work but up to a point: shift gets activated yet on pressing the space at the end of the word, the next 2-4 characters will still be shift.

I am TYPING this with the ABOVE macro.

Not sure why but for me it does the exactly what it is meant to. Sorry.

I can’t reproduce any problems either.

Please add set keystrokeDelay 10 into your $onInit and retest.

If it doesn’t help, then please provide more details (does it happen with writing, or runtime macro playback? Can you share your UserConfig)

after reconnecting few times the keyboard, behavior seemed to have disappeared and it does work now properly. In any case ill keep in mind and make a short video if it is reproducible again. Weird though i had also to disconnect the halves. In any case it works now.