BTT can now differentiate between left and right modifier keys.

Blog post on https://folivora.ai from Sat, 10 March 2018 10:59:49+0000
This is a companion discussion topic for the original entry at https://folivora.ai/blog/post/12965

Hi @Andreas_Hegenberg. Is there any way to trigger modifiers on both sides at the same time? I just posted this topic. Thanks, –Onur

Hi @Andreas_Hegenberg, I have a question regarding how using this feature interferes with other apps like Keyboard Maestro which cannot differentiate between left and right modifier presses.

Let's say I define right-control + β†’ in BTT to generate a stroke of the End key (helpful to jump to the end of the line when working on a remote Windows system via Citrix). This works fine so far.

But if I'd create a similar Hotkey Trigger in Keyboard Maestro which acts on control + β†’ and then press right-control + β†’ how can I be sure that BTT gets to see and acts on this keystroke first in order to avoid Keyboard Maestro acting upon the undifferentiated hotkey event?

I.e. how can I make sure that BTT is the first app in line to receive a keystroke before it is passed along to other such recipients?

Meanwhile, with KM you can distinguish between left and right modifiers. There is an example macro in the forum. But with BTT it is easier. :slightly_smiling_face:

The rest I have not understood exactly. Anyway, if the same shortcut is set up in KM and BTT, the BTT action is executed. KM does not seem to get the command. Apparently BTT works on a deeper level or something.

1 Like

Meanwhile, with KM you can distinguish between left and right modifiers. There is an example macro in the forum.

Yeah I know, but "no thanks". If it ain't straight forward, I don't like to use it (unless I have no choice, but thanks BTT I do have one).

Anyway, if the same shortcut is set up in KM and BTT, the BTT action is executed.

That's my question: Is it guaranteed that BTT gets to the keystroke first, or is this merely a matter of coincidence or circumstances, i.e. whether one installs one tool before the other. (I had KM on this machine first, so maybe when adding BTT it moved itself to the head of the queue upon installation?!)

I still hope for Andreas to show up here and shed some light on this. :slight_smile:

Well, I've been using both apps for years and it's always been like this until now, that the BTT action is executed.

My most important shortcuts are set up in KM and BTT. This causes no conflict. But if I quit BTT for testing, these shortcuts still work because KM takes over. I find this very convenient. :slightly_smiling_face:

1 Like

Thank you for sharing your insights and experience, this is very reassuring! :slight_smile:

I am starting to use right-control shortcuts with BTT now that I had the idea to map the right control key on my Keychron keyboards to right alt and Caps Lock to right control by means of hidutil property --set '{"UserKeyMapping":[...]}'ΒΉ β€” only after doing this have I found out that apparently you have been proposing this for quite a while already here in the forum. :wink: I am still quite new to BTT (came to it for Generic Devices) and discovering.

ΒΉ) see e.g. Reddit - Dive into anything

I suggested this because apparently some have problems with hyperkey. In such cases, a "real" modifier is probably more reliable than virtually pressing four. :wink:

1 Like

The HyperKey concept β€” one key to trigger β‡§βŒƒβŒ₯⌘ all at once just for the convenience of typing it β€” is not enticing me, but the possibility to gain another modifier altogether:

Right control is a key which most of my keyboards don't have and which therefore isn't mapped to anything yet. I want to combine it with other modifiers, which is something that the usual "everything all at once" HyperKey idea doesn't envision.

Therefore I was worried because this will only work If BTT is guaranteed to be the first app in line to which keystrokes are fed.

The only issue is that BTT can not differentiate between left/right modifier keys while secure input mode is active (e.g. in password fields or some terminal emulators). I'm looking into solutions to this though...

1 Like

How does BTT make sure it gets to see key presses before Keyboard Maestro?

I haven't looked at KM's keyboard shortcut implementation, but possibly KM is using the default macOS keyboard shortcut implementation.
BTT uses a custom one which works one layer deeper, thus it will catch shortcuts before apps which use the standard implementation.

1 Like

Thank you for the clarification Andreas! :+1: