diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/cadMousePro.xml --- a/mouse-data/cadMousePro.xml Tue Sep 03 23:28:46 2019 +0200 +++ b/mouse-data/cadMousePro.xml Thu Sep 05 01:12:12 2019 +0200 @@ -8,7 +8,119 @@

+ The cadMousePro is an independent free tool for configuring 3DConnexion CadMouse Pro.

+ +

Architecture

+ +

+ The cadMousePro consists of two parts: +

+ +

+ The first one is a command line utility which sends configuration to the mouse as a USB HID message. + This utility can also run in daemon mode and expose a D-Bus interface that could be called by other apllication. + This tool must run under root or other user who has permissions to access the USB device. +

+ +

+ The second part is a simple GUI apllication which shows mouse status (name and battery level) and can configure the mouse. + This GUI layer connects to the daemon using the D-Bus interface. + Thus the GUI can run under any user (can be restricted using the D-Bus rules, if needed). + The information about the battery level is provided by the UPower daemon (also over a D-Bus interface). +

+ + daemon; + gui -> daemon; + gui -> upower; + + cli -> usb; + daemon -> usb; + upower -> usb; + ]]> + +

Features

+ +

Mouse status:

+ + +

Mouse configuration:

+ + +

About:

+ + +

Disable Smart scrolling (free wheel)

+ +

+ The CadMouse Pro has a feature called „smart“ scrolling (also know as „free wheel“) + which is actually not so smart and is rather an anti-feature and most users will probably want to disable it. +

+ +

+ This feature simulates the momentum – if you scroll bit faster, the mouse continue to send scroll events even if you have already stopped scrolling the wheel. + So you scroll, stop scrolling, move cursor to another window… but the mouse still scrolls and you get angry + (especially it that another window was a taskbar and your windows are now fiercely switching). +

+ +

Build and installation

+ +

We use the CMake build system, so the steps are basically:

+ +
+ +

Required libraries:

+ +
    +
  • hidapi-hidraw
  • +
  • Qt
  • +
+ +

+ Old version v0.1 requires only hidapi-hidraw and has no GUI nor D-Bus interface. +

+ +

+ The daemon mode requires instalation of the D-Bus policy (in order to expose the service on the system bus and allow others to use it). + Template for policy is in file: +

+
config/etc/dbus-1/system.d/info.globalcode.mouse.cadMousePro.conf
+ +

+ If we want to configure the mouse automatically when it is connected, we should install a udev rule. + Template for udev rule is in file: +

+
config/etc/udev/rules.d/99-cadMousePro.rules
+ +

Usage

+ +

+ For ad-hoc configuration we just run: +

+ +
sudo ./cadMousePro --frequency 250 --smart-scrolling false --lift-off-detection true
+ +

+ The daemon is started in this way: +

+ +
sudo ./cadMousePro --daemon true
+ +

3DConnexion CadMouse Pro Wireless

+

Our software works with this mouse:

+ + +