Conditional Touchbar Actions

I think it would be nice if touchbar actions could be conditionally triggered based on specific modifier keys being pressed. For example, the native touchbar volume buttons normally change volume by full increments, but if Option and Shift are pressed, then they change volume by quarter increments. As far as I know, this is possible to implement with BetterTouchTool, but not by using the UI. This could be done by attaching two actions to a touchbar button, one that is enabled when Option and Shift are not pressed, and the other that is enabled when Option and Shift are pressed.

Create two same touch bar buttons in BTT.
Configure one of them to show always unless one of the selected modifier keys is pressed:

Configure the other one to only show while that modifier is pressed:

1 Like

Thank you for your quick reply. I know that is possible, but personally I think being able to configure a button to have modifier-based actions would be more elegant, since showing/not showing a button based on modifiers has the downside of perceivable lag.

Unfortunately modifier based actions are not easy to integrate with the current structure, but I plan to refactor that eventually, then I'll try to add them.

You can also do it using a little Apple Script but for now I'd recommend the method I described above.

The lag is only a CPU usage improvement, because otherwise BTT needs to reevaluate enabled triggers & actions on each modifier press. During the "lag" BTT collects multiple modifier events and combines them so it only needs to evaluate the final press.

You can disable the lag/delay using this terminal command while BTT is quit:
defaults write com.hegenberg.BetterTouchTool BTTFlagsChangedDelay 0