Shortcut behaves differently in password entry field

Describe the bug
Hold on tight, this is going to be a doozy!

I have a BTT shortcut for “Left shift type open parenthesis when pressed alone (shift when held down)”.

The shortcut is a Key Sequence: left shift down, left shift up, both required, order relevant, max pause 0.25 seconds.

The action is “Type text (”

For the most part, this works great. When I want to type an open paren, I just tap my left shift key (and similar with the right shift key for closed paren). It is super convenient.

And when I want to type capital letters, I just use my shift keys normally—the shortcut only triggers when shift is pressed quickly by itself.

…except in password entry fields.

In a password entry field, where the entered text is obscured and just shows dots (•••••), the shortcut still works to type parenthesis, which is good.

However, when I want to type a capital letter in a text entry field, I have to hold shift for 0.25 seconds. If I don’t—if I just type normally: shift down, letter key down and up, shift up—then it types both the capital letter and also the parenthesis.

That is not supposed to happen, and it does not happen in normal typing. It only occurs in password entry fields. I get an extra parenthesis after typing a capital letter, unless I pause long enough before releasing the shift key.

Affected input device (e.g. MacBook Trackpad, Magic Mouse/Trackpad, Touch Bar, etc.):
MacBook Pro keyboard


Device information:

  • Type of Mac: 2013 MacBook Pro retina 15.4″
  • macOS version: Mojave 10.14.4 (18E226)
  • BetterTouchTool version: 2.745 (1055)

Additional information (e.g. StackTraces, related issues, screenshots, workarounds, etc.):
If you want I can make a screen recording with the on-screen keyboard showing, to demonstrate both normal behavior and the problem with password fields.

password fields disable third party's app to intercept keyboard input, BTT only gets to see the modifier keys in this case. This is an important security feature on macOS and can not be worked around. Sorry!

I should probably disable key sequences entirely if secure input is enabled.

Okay, no problem.

Oh, please don’t disable them entirely!

I’ve worked around this by using Karabiner Elements instead of BTT for the shift-to-parentheses action.

However, I still have BTT key sequence actions for “rolls” like “left-shift down, right-shift down, left-shift up” and similar, to type “()” without having to fully release each key independently.

Those work just fine, even in password fields. I wouldn’t want to lose them!

1 Like