All my macros worked after upgrade to Catalina, except for one triggered by middle button press on my external mouse. I could not figure it out until I tried to re-add the device trigger, and noticed that it registered with a slightly different device name.
You can see that in the old device key, the (R) symbol after Microsoft was correctly registered, but now there's a strange character that is rendered instead. But the macro once again works with that trigger.
Since nothing else changed about the mouse, I'm wondering whether something about the way KM reads the device name needs to be updated to handle this special case. Upgraded directly to macOS 10.15.3, running latest KM (9.0.5).
The display name is used for display purposes only. I don't know why it is getting the name wrong now, I'll try to figure that out, although without a device that has those sorts of characters in the name, it may be quite a challenge.
The apparent codes for USB Device Keys can change with system upgrades. Usually they don't, but they did previously (sometime around 10.10?) and apparently have with 10.15 as well, which does require them to be reset.
Thanks for investigating this, @peternlewis. Just to underscore though, besides the name changing for display only, this actually broke the macro. I.e., it stopped reacting to the button click the way it did before in macOS 10.14. But I believe you're saying that's due to the device key, not name.
I was relatively sure this was something on the part of the OS, not KM, but thought I'd mention it anyway. And even if it's Apple that broke it, perhaps KM could scan its triggers for "®" and either fix or warn user if that condition is detected.
Correct. When you update from 10.14 to 10.15, the name displayed by Keyboard Maestro (which is saved when you set the key) would remain unchanged, but the key will stop working because the underlying key details changed. When you reset the key, then the key will start working again, and the new name will be gotten from the system. It is plausible that Catalina has broken/changed something with regard to the name, or that I have broken something with the names (which is part of the code that has changed in recent versions of Keyboard Maestro).
The ® and the name have nothing to do with whether the key works or not, they are just read when you create the key and stored as a text for display purposes.
Many (maybe even all, or all except regular keys, I'm not sure) keys will change their key code in 10.15.