Custom button as modifier key

I would like to use my external mouse side buttons as modifier keys.
I have not find any way to do it via Better Touch Tool.
Please explain how it can be done or please add that option.

Add two versions of the same button to BTT. Make one "trigger on down" and assign the action "ctrl down" (for example).

Then make the other one "trigger on mouse up" and assign the action "ctrl up".

Thank you for the answer. As I understand you are suggesting to bind those buttons to one of CTRL/Shift/Alt keys right?
I meant to use the button itself as modifier, not to press a keyboard modifier.
In that case I can use keyboard modifiers separately.
For example I wish to use mouse buttons combo Backward+Wheel Up for increasing Volume, and if I bind that key to CTRL, I won't be able to use CTRL+Wheel Up as normal usage.

no, you use the predefined actions for modifier keys and assign them to the mouse buttons. Then when you press the button, BTT will press the modifier for you and you can do a scroll while holding the button.

thanks, but your answer is still confusing for me. By saying "no" you mean I have to bind mouse buttons to existing keyboard modifiers, or I can create a new modifier key using predefined actions?

I think adding mouse wheel up/down and mouse forward/backward buttons in that list would solve it for me. Can I use something like back_mouse_button or wheel_mouse_up in that script?

I'm trying to do the same thing with a regular keyboard key. Specifically, I want to map the `/~ key on a british keyboard to be a shift key, because I am used to a US ANSI layout. I have tried mapping ` down to shift down and ` up to shift up, and it works to a degree, but if I hold ` down and try typing, only the first letter typed is capitalised. Is there a way to more fully emulate a shift modifier key?

@IGHOR If I understand correctly you are looking for this

Your mouse button can press and hold a modifier when you press it and release the modifier when you release the button.

@Gareth_Seddon Try the predefined action "Enable/disable Caps Lock".

Hi Frank,
Thanks for that, it's still not quite the same as fully emulating the shift key though. For example using it in key combinations as well.

BTT is not really well suited for key remappings like this. However there is a system command on macOS that can do this:

Technical Note TN2450: Remapping Keys in macOS 10.12 Sierra (

Here is an example terminal command that maps "Keyboard Non-US # and ~" to Shift (needs to be run everytime macOS restarts, but this can be automated). I'm not sure if that is the key you want to remap - otherwise you need to figure out the correct number from the list in the link above.

hidutil property --set '{"UserKeyMapping":[{"HIDKeyboardModifierMappingSrc":0x700000032,"HIDKeyboardModifierMappingDst":0x7000000E1}]}'