KVM Input Switching Key Commands with QMK in macOS

KVM Model:

Combo USB-C Power Delivery & DisplayPort 1.4 KVM - Dual Monitor KVM

USB Interface (5-gigabit or 10-gigbit):

5-gigabit


Problem:

I have a question regarding using key commands to switch between inputs on the Combo USB-C Power Delivery & DisplayPort 1.4 KVM - Dual Monitor KVM.

My setup:

  • PC running Windows connected as KVM PC 1
  • M1 Macbook Pro connected as KVM PC 2
  • KBDFans KBDPAD-mkII USB numpad connected to KVM HID USB port
  • Primary mouse and keyboard are connected to a USB hub attached to the KVM

My goal:
Use QMK Via to create macros on the KBDPAD to switch between KVM inputs with a single button press

Steps so far:

  • Created 2 macros in QMK VIA:
    • {KC_SLCK}{KC_SLCK}{KC_1}
    • {KC_SLCK}{KC_SLCK}{KC_2}
  • Assigned these macros to my desired keys on the numpad

After doing this, when I am in Windows, pressing the macro that simulates SCROLL + SCROLL + 2 will switch to the Macbook. However, when I am in macOS and press the macro for SCROLL + SCROLL + 1, it does not switch back to Windows. It inserts the “1” character at the current cursor position.

I tried this same process with the LCTRL + LCTRL shortcut, and experience the same result.

Does anybody have experience using QMK Via in a similar way? I am wondering if I need to use a different keycode or something for the macro that will be triggered from the macOS side? Or is this potentially related to HID compliance with the KBDPAD?

How did you setup your macros? @SgtAwesomesauce was it in a similar way or no

I wrote my macro pad in C, didn’t touch QMK, specifically for this reason. It’s got so much abstraction that you can’t really tell what mode it’s running in.

If you want to get this working, you need to disable NKRO, and basically all other extra keyboard features, you need it to operate in BIOS mode. I did this with my keypad at a low level, but I can’t say that’s for everyone.

I don’t think you’ll be able to use VIA for this. The problem with VIA is there’s not a lot of control under the hood, so you’ll likely need to clone the source and build your macros yourself.

Thank youuu punctual as always

You caught me just as I’m delaying the start of work :wink:

1 Like

Hello! Thank you both and I appreciate the feedback and support!

Disabling NKRO (using a toggle key in QMK) seems to have resolved this, and my QMK macros now successfully switch between KVM inputs whether I have a PC or Mac connected!

The QMK VIA configurator actually has a pretty decent UI for creating macros now, so luckily I didn’t need to build from source and was able to achieve all of this with the web configurator.

If I didn’t already have the keypad though, I’d be picking up parts for one of @SgtAwesomesauce’s remotes - very cool project!

Thanks again for the quick help!

2 Likes

No problem! Glad we could help.

Oh, that’s awesome to hear! I got into qmk a few years ago and it wasn’t great, so I just kinda stuck with source. I’m really glad it’s improved.

I’m glad that worked out! So strange that it worked on windows but not Mac. That’s such a strange edge case.

I’m glad you like it! My hope was that some people would get some use out of it. So far, I think I’m the only person to build it, but I really did want to learn USB on the Pico and actually finish a project. I want to say this one took me a month of weekends to get done, or so.