Support for multiple keyboards

Would be cool to be able to connect second keyboard and use it for macros only.

Just imagine that you could connect a second keyboard and record a specific action per application i.e. have specific keys for video editing, programming, etc.
I mean BetterTouchTool already supports pretty much everything that needs to be done for this except being able to distinguish between different keyboards.

Unfortunately I don't know of a way to distinguish between keyboards at the level where BTT works. Otherwise I'd like to add this...

Maybe I can find a way to do this in the future.

Actually I have found a way to make it work. It's included in the latest update:

Boom! Time to buy a second license :grin:

1 Like

Hi - I was very excited to see this in BTT but it doesn't want to work for me :worried: (v 2.724)

I have a tenkeyless keyboard (realforce 87U) and a separate numpad (adesso AKP-220B). Both have a key which BTT reports as F13 when pressed.

I created two new triggers and selected "Recognize only on keyboard used for recording the shortcut" before I recorded the shortcut and defined the action. But, whenever I press the key on either keyboard I get a little pop-up menu with the two action I have defined.

1 Like

Do you maybe have the old keyboard shortcut implementation activated? (it can not work with that)

It can also not work while secure input is active (BTT will show a message about that)

Hi Andreas - thanks for the quick reply.

Just to be sure, I clicked "Reset ALL Settings" in BTT, then I deleted all my actions, then I created the two new actions again:

  • Add New Shortcut or Key Sequence
  • Click "gear" icon on the left and select "Recognize only on keyboard used for recording the shortcut"
  • Record the shortcut, and define the action.

It still does not want to work for me. I have copied the JSON for both actions below. They both have the same BTTKeyboardShortcutKeyboardType - is that a problem?

{
"BTTGestureNotes" : "Created-on-87U",
"BTTTriggerClass" : "BTTTriggerTypeKeyboardShortcut",
"BTTPredefinedActionType" : 25,
"BTTPredefinedActionName" : "Volume Down",
"BTTAdditionalConfiguration" : "8388608",
"BTTEnabled2" : 1,
"BTTKeyboardShortcutScope" : 1,
"BTTKeyboardShortcutKeyboardType" : 40,
"BTTUUID" : "B1CAB015-F5A9-4C5A-B2C1-A1D5FC532C4C",
"BTTTriggerOnDown" : 1,
"BTTEnabled" : 1,
"BTTModifierMode" : 0,
"BTTShortcutKeyCode" : 105,
"BTTShortcutModifierKeys" : 8388608,
"BTTOrder" : 0,
"BTTDisplayOrder" : 0,
"BTTMergeIntoTouchBarGroups" : 0
}

{
"BTTGestureNotes" : "Created-on-Adesso",
"BTTTriggerClass" : "BTTTriggerTypeKeyboardShortcut",
"BTTPredefinedActionType" : 96,
"BTTPredefinedActionName" : "Maximize Window to Top Half",
"BTTAdditionalConfiguration" : "8388608",
"BTTEnabled2" : 1,
"BTTKeyboardShortcutScope" : 1,
"BTTKeyboardShortcutKeyboardType" : 40,
"BTTUUID" : "6A322BA6-6109-40B4-A5AD-ABE67889425C",
"BTTTriggerOnDown" : 1,
"BTTEnabled" : 1,
"BTTModifierMode" : 0,
"BTTShortcutKeyCode" : 105,
"BTTShortcutModifierKeys" : 8388608,
"BTTOrder" : 1,
"BTTDisplayOrder" : 0,
"BTTMergeIntoTouchBarGroups" : 0
}

(edited after a few minutes b/c I realized I'd copied the same JSON twice)

Damn you seem to be unlucky, both of your keyboards seem to report as type "40".
Unfortunately BTT can only do the differentiation based on the keyboard type provided, for me this has worked with all my keyboards, but keyboards can report the same type ;-(

Do you know if there's any way to edit the keyboard type, or how it's reported in OSX?
I have another numpad I will try as well.
Thanks!
Sameer

Unfortunately I think that's hardcoded in the keyboard hardware.
In the future I might be able to include more information like the keyboard vendor and model id, but this is not yet done.

Hi Andreas,

A bit more information: the keyboard type appears to be linked to that set in the OSX "Keyboard" preference pane (i.e. the Change Keyboard Type) button. ANSI = 40, ISO = 41, JIS = 42.

Ah that's interesting!
There seem to be many more types though (e.g. the Touch Bar acts as a keyboard with type 198).

However I think I have a solution to make the keyboard detection work in all cases. I'll implement this next week!

2 Likes

HI Andreas,
Have you had any success with the solution for keyboard detection?
Thanks,
Sam

Hi.
I love BTT and I can't imagine working without it, but ... keyboard recognition is for me the biggest downside of BTT.
When I assign an action to a key on the Magic Keyboard (e.g. do nothing, because Keyboard Maestro will do the macro) it works fine for several days, but then the same key on the Apple Keyboard also stops working.
I would also like to know when a solution that recognizes a particular keyboard will be available.
BTW. Maybe there is a solution to disable all Magic Keyboard keys for a specific application or better - for the entire computer?

that looks cool!
I have a version that includes keyboard specific recognition, but I didn’t have time to finish it yet. I think I’ll be able to release a working preview later this week (please remind if I forget to do so)

that looks cool!
Thanks :slight_smile:

OK, so I'm waiting, Thank you!

Hi Andreas,
did you find some time to finish update?

Hi Andreas,
I care about this feature. What is the chance that you will take care of this in the near future?

Hi all!
Im using a Macbook Pro 2018 and a Magic Keyboard (the one without the numpad). Don't know if this is a bug but here goes.

When I choose a trigger (and have set everything to recognise the different keyboards as per the screenshots from above) it selects it fine. However it selects it on the opposite keyboard. So if I select G on the macbook pro keyboard as a trigger, the G on the magic keyboard actually triggers the sequence and the one on the laptop works normally.

I'm not complaining I just thought its weird. It works fine (as long as I keep in mind which keyboard to use) and I'm starting to re-label my magic keyboard already.