intellimouse-ctl
                                
                                 intellimouse-ctl copied to clipboard
                                
                                    intellimouse-ctl copied to clipboard
                            
                            
                            
                        Make the backend available as a cross-platform library
This is really cool. Thanks for making it!
I would love to support Microsoft Mice in Mac Mouse Fix. For that it would be awesome to have a cross-platform library that lets you talk to Microsoft Mice. This would also make it a lot easier to write great drivers for MS mice on linux.
I think a command line tool would also be fine.
@noah-nuebling
Cool, I was thinking about dropping the whole Qt GUI / fbs thing and turning it into an cli tool since it's keeping the project back at an ancient python version.
Would a Python library work for you or would you prefer something like a native C(++) lib?
Great, thanks for getting back!
- A C API would be very nice.
- C++ would be good as well, although I think I'd have to write a thin ObjC++ wrapper to use it from normal Mac app code (which is written in ObjC and Swift).
- There's PyObjC which I think let's you call Python libraries from normal Mac app code, but I have no experience with it.
- Calling a Command Line Tool would work fine as well.
I think for optimal cross-platform compatibility, it's probably best to have a C library. But any option would be great!
Edit: I just looked into calling Python from C#/C/C++ (the languages I assume are being used to develop Linux and Windows apps) and it seems really tedious. It looks to me like it's probably easier to use a Command Line Tool over a Python library for most native app development.
Happy to inform you there's a CLI/library that installable from here now.
I put in an --json argument specifically for your use-case, so it outputs JSON.
concrete example:
$ intellimouse-ctl --json list
[
    {
        "name": "ProIntelliMouse",
        "path": "2-2.3:1.1"
    },
    {
        "name": "ClassicIntelliMouse",
        "path": "2-2.2:1.1"
    }
]
Please let me know what you think of it!