I have a wonderful Roccat Tyon mouse (this is not a promo, I honestly love this product after trying a bunch of other gaming mouses) which I use for work, not for gaming. And I use it on the Mac OS which apparently is not supported by Roccat so no drivers or software (shame on you Roccat). Luckily mouse can store all the bindings in internal memory and don't need to rely on system drivers. I tried several workarounds to make my mouse work on Mac. I'll post my solutions just in case it might help someone on the Mac to use this great mouse. And if you're also the one who uses this or similar mouse on the Mac, please share your experience because I haven't yet found a really smooth solution.
1. Binding direct shortcuts on Windows for later use on the Mac. It's usable and stable though for any change you have to run Windows and apply any changes there.
2. Binding direct input events to mouse buttons and later triggering certain shortcuts on Mac OS side. Initially, I chose to bind direct input (or xinput) events to the mouse buttons because I though that keyboard buttons bindings would cause conflicts. And after binding on Windows side I installed ControllerMate on Mac OS and it worked great and allowed much flexibility though was to complex for simple bindings. Also there are just 12 xinputs events available and the mouse has much more buttons.
At some point I realized that ControllerMate is capable of distinguish inputs from different keyboards and I thought that an ideal solutions would be binding just plain letters A,B,C... to the mouse buttons. And I tried that and found an annoying bug. "A" detected as "C" and all the buttons had that strange offset of 2 letters.
3. Binding plain letters A,B,C... to the mouse buttons and react on them on Mac OS side. Finally, so far I settled on binding plain letters and using BetterTouchTool which also allows distinguishing between input sources (without much control though). It does its job but "input sources distinguishing" functionality is pretty unstable and the app sometimes requires rebinding shortcuts, restarting it, or resaving some settings.
I would really like to hear from you if you've dealt with similar issues with unsupported devices. Setting something like a mouse for comfortable work obviously should not take so much time and effort. (If you know another great mouse also please share.)