/intellimouse-ctl

A cross-platform command line tool and library for Microsoft's IntelliMouse devices.

Primary LanguagePythonMIT LicenseMIT

intellimouse-ctl

black pylint

A cross-platform command line tool and library for Microsoft's IntelliMouse devices.

It supports the following models:

  • Pro IntelliMouse (2019)
  • Classic IntelliMouse (2017)

Usage

CLI

intellimouse-ctl demo

intellimouse-ctl --help
usage: intellimouse-ctl [-h] [--json] {get,set,list} ...

positional arguments:
  {get,set,list}
    get           get the value of a setting
    set           set the value of a setting
    list          lists the connected devices and their indices

options:
  -h, --help      show this help message and exit
  --json          output JSON

Commands passed to a device that doesn't support the given commands will ignore them.

Library

from intellimouse import ClassicIntelliMouse
from intellimouse import ProIntelliMouse

with ClassicIntelliMouse.enumerate()[0] as mouse:
    print(mouse)


with ProIntelliMouse.enumerate()[0] as mouse:
    print(mouse)

Features

Pro IntelliMouse

  • DPI
  • LOD
  • LED
  • Polling Rate
  • Custom Button Mapping
  • Custom LOD Calibration

Classic IntelliMouse

  • DPI
  • Custom Button Mapping

Install

PyPI

pip install intellimouse-ctl

Local

git clone https://github.com/k-visscher/intellimouse-ctl.git
cd intellimouse-ctl
pip install .

Gentoo Linux

layman -fa fol4    (or eselect repository enable fol4)
emerge -av intellimouse-ctl

Development

To set up a virtual environment to further develop this tool/library, use the following commands:

python -m venv venv
source venv/bin/activate
pip install --editable .

Documentation

View

pdoc ./src/intellimouse/

or view it over at:

https://intellimouse.visscher.codes

Generate

pdoc ./src/intellimouse/ -o ./docs

Sponsors

  • @madsl for donating the Classic IntelliMouse to this project.

License

This application is licensed under the the MIT license.

Disclaimer

All company, product and service names used in this project are for identification purposes only.
Use of these names, trademarks and brands does not imply endorsement.
In no way is this project published by, affiliated with, or sponsorsed, or endorsed, or approved by Microsoft.

All product names, trademarks and registered trademarks are property of their respective owners.
Microsoft Pro IntelliMouse is a registered trademark or trademark of Microsoft Corporation in the United States and/or other countries.
Microsoft Classic IntelliMouse is a registered trademark or trademark of Microsoft Corporation in the United States and/or other countries.
All other trademarks cited herein are the property of their respective owners.