# HG changeset patch # User František Kučera # Date 1567638732 -7200 # Node ID 8e583c8df66005b32e1ec7eb49bf3f774e02894c # Parent 025ec3d898c4d5462e3b8911abc2562892dd50cd cadMousePro, Spacenav Demo, Spacenav Simulator, Spacenav Hack diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/.seznam.xml --- a/mouse-data/.seznam.xml Tue Sep 03 23:28:46 2019 +0200 +++ b/mouse-data/.seznam.xml Thu Sep 05 01:12:12 2019 +0200 @@ -10,35 +10,35 @@ Mouse utilities – Introduction to the mouse utilities. - (3.9. 2019 22:04) + (4.9. 2019 23:19)

cadMousePro – CLI tool, D-Bus service and a GUI application for configuring the CadMouse Pro. - (3.9. 2019 22:04) + (4.9. 2019 23:19)

Spacenav Demo – Demo program that shows current state of 3D mouse. - (3.9. 2019 22:04) + (5.9. 2019 0:10)

Spacenav Simulator – A tool that simulates 3D mouse (resp. the socket) and allows control of a CAD or other client program. - (3.9. 2019 22:04) + (5.9. 2019 0:26)

Spacenav Hack – An LD_PRELOAD hack that translates socket messages to the X11 events. - (3.9. 2019 22:04) + (5.9. 2019 1:05)

@@ -52,14 +52,21 @@ Download – Sources and distribution of Mouse utilities - (3.9. 2019 23:26) + (4.9. 2019 23:38)

Support & contact – Support and contact information - (3.9. 2019 23:21) + (4.9. 2019 23:38) +

+

+ Screenshots + – + Pictures of the GUI + (5.9. 2019 0:18)

\ No newline at end of file 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:

+ + +
diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/contact.xml --- a/mouse-data/contact.xml Tue Sep 03 23:28:46 2019 +0200 +++ b/mouse-data/contact.xml Thu Sep 05 01:12:12 2019 +0200 @@ -10,7 +10,7 @@ contact public keys - 100 + 900

diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/download.xml --- a/mouse-data/download.xml Tue Sep 03 23:28:46 2019 +0200 +++ b/mouse-data/download.xml Thu Sep 05 01:12:12 2019 +0200 @@ -4,7 +4,7 @@ Download Sources and distribution of Mouse utilities - 090 + 100

diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/3DConnexion-CadMouse-Pro-1.jpeg Binary file mouse-data/img/3DConnexion-CadMouse-Pro-1.jpeg has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/3DConnexion-CadMouse-Pro-1.xcf Binary file mouse-data/img/3DConnexion-CadMouse-Pro-1.xcf has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/3DConnexion-SpaceMouse-1.jpeg Binary file mouse-data/img/3DConnexion-SpaceMouse-1.jpeg has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/3DConnexion-SpaceMouse-1.xcf Binary file mouse-data/img/3DConnexion-SpaceMouse-1.xcf has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/cadMousePro-about-adwaita-v0.3.png Binary file mouse-data/img/cadMousePro-about-adwaita-v0.3.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/cadMousePro-about-breeze-v0.3.png Binary file mouse-data/img/cadMousePro-about-breeze-v0.3.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/cadMousePro-about-cleanlooks-v0.3.png Binary file mouse-data/img/cadMousePro-about-cleanlooks-v0.3.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/cadMousePro-about-oxygen-v0.3.png Binary file mouse-data/img/cadMousePro-about-oxygen-v0.3.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/cadMousePro-configuration-adwaita-v0.3.png Binary file mouse-data/img/cadMousePro-configuration-adwaita-v0.3.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/cadMousePro-configuration-breeze-v0.3.png Binary file mouse-data/img/cadMousePro-configuration-breeze-v0.3.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/cadMousePro-configuration-cleanlooks-v0.3.png Binary file mouse-data/img/cadMousePro-configuration-cleanlooks-v0.3.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/cadMousePro-configuration-oxygen-v0.3.png Binary file mouse-data/img/cadMousePro-configuration-oxygen-v0.3.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/cadMousePro-status-adwaita-v0.3.png Binary file mouse-data/img/cadMousePro-status-adwaita-v0.3.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/cadMousePro-status-breeze-v0.3.png Binary file mouse-data/img/cadMousePro-status-breeze-v0.3.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/cadMousePro-status-cleanlooks-v0.3.png Binary file mouse-data/img/cadMousePro-status-cleanlooks-v0.3.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/cadMousePro-status-oxygen-v0.3.png Binary file mouse-data/img/cadMousePro-status-oxygen-v0.3.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/spacenavDemo-adwaita-v0.1.png Binary file mouse-data/img/spacenavDemo-adwaita-v0.1.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/spacenavDemo-breeze-v0.1.png Binary file mouse-data/img/spacenavDemo-breeze-v0.1.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/spacenavDemo-cleanlooks-v0.1.png Binary file mouse-data/img/spacenavDemo-cleanlooks-v0.1.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/spacenavDemo-oxygen-v0.1.png Binary file mouse-data/img/spacenavDemo-oxygen-v0.1.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/spacenavHack-freecad-v0.1.png Binary file mouse-data/img/spacenavHack-freecad-v0.1.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/spacenavSimulator-adwaita-v0.1.png Binary file mouse-data/img/spacenavSimulator-adwaita-v0.1.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/spacenavSimulator-breeze-v0.1.png Binary file mouse-data/img/spacenavSimulator-breeze-v0.1.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/spacenavSimulator-cleanlooks-v0.1.png Binary file mouse-data/img/spacenavSimulator-cleanlooks-v0.1.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/img/spacenavSimulator-oxygen-v0.1.png Binary file mouse-data/img/spacenavSimulator-oxygen-v0.1.png has changed diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/index.xml --- a/mouse-data/index.xml Tue Sep 03 23:28:46 2019 +0200 +++ b/mouse-data/index.xml Thu Sep 05 01:12:12 2019 +0200 @@ -11,6 +11,16 @@ are free software utilities for computer mice and similar hardware. They are developed on and for GNU/Linux, but should work also on other unix-like systems.

+ + + +

+ + n.b. We (GlobalCode) are not affiliated to any manufacturer of hardware mentioned on this website. + And this website is not intended as a product review or a recommendation to purchase any hardware. + However, if you already have such piece of hardware, we hope our software will help you to use it on your free operating system. + +

diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/makra/escape-xml.xsl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mouse-data/makra/escape-xml.xsl Thu Sep 05 01:12:12 2019 +0200 @@ -0,0 +1,20 @@ + + + + + /\>/g' -e 's/"/\"/g' -e "s/'/\\'/g"]]> + + + diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/makra/usb-id.xsl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mouse-data/makra/usb-id.xsl Thu Sep 05 01:12:12 2019 +0200 @@ -0,0 +1,19 @@ + + + + +

The mouse connects using a wireless USB adapter with ID: 256f:c652 and identifies itself as 3Dconnexion Universal Receiver

+
+ +
+ diff -r 025ec3d898c4 -r 8e583c8df660 mouse-data/screenshots.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mouse-data/screenshots.xml Thu Sep 05 01:12:12 2019 +0200 @@ -0,0 +1,38 @@ + + + Screenshots + Pictures of the GUI + 090 + + +

+ Our GUI applications are build with the Qt toolkit + and can be styled (themed) in various ways to fit your desktop environment. +

+ +

Adwaita:

+ + + + +

Oxygen:

+ + + + +

Breeze:

+ + + + +

Cleanlooks:

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

+ The Spacenav Demo is a simple client program for the Spacenav library and daemon. + This demo just shows current status of the 6DoF 3D mouse + and can be used for testing.

+ + + +

Build and installation

+ +

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

+ +
+ +

Required libraries:

+ +
    +
  • spnav
  • +
  • Qt
  • +
+ +

3DConnexion SpaceMouse Wireless

+

Our software works with this mouse:

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

+ There are two ways how the Spacenav client (e.g. Blender, OpenSCAD or FreeCAD) and the Spacenav server (Spacenav daemon connected to the 6DoF 3D mouse or our simulator) + can reach each other:

+ + + +

+ The client might be compiled with both options (like X11 with fallback to socket interface) or only with one (like X11 only). + The server can be configured to provide both interfaces (it needs the ~/.Xauthority X11 magic cookie) + or only the socket interface (if the cookie is missing). +

+ +

+ If we have socket-only server and X11-only client, we can of course recompile the client or reconfigure the server. + Or we can have some fun, hack it in the LD_PRELOAD fashion and translate the socket interface to the X11 one. + So we make X11 client talking to the socket server. +

+ + + +

Build and installation

+ +

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

+ +
+ +

Required libraries:

+ +
    +
  • spnav
  • +
+ +

Usage

+ +

We just run our favourite CAD with our hackish library preloaded:

+ +
LD_PRELOAD="./libspnav-lib-hack.so" freecad
+ +

and it translates the X11 API calls to the socket ones.

+ +

3DConnexion SpaceMouse Wireless

+

Our software works with this mouse:

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

+ The Spacenav Simulator is a simple server program that simulates the Spacenav unix domain socket. + This simulator pretends that it is a 6DoF 3D mouse and Spacenav daemon. + It can be used for testing and development even if we do not have given hardware. + We can control e.g. Blender or OpenSCAD using this simulator.

+ + + +

Build and installation

+ +

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

+ +
+ +

Required libraries:

+ +
    +
  • Qt
  • +
+ + +

3DConnexion SpaceMouse Wireless

+

Our software simulates this mouse:

+ +
diff -r 025ec3d898c4 -r 8e583c8df660 scripts/image-comment.sh --- a/scripts/image-comment.sh Tue Sep 03 23:28:46 2019 +0200 +++ b/scripts/image-comment.sh Thu Sep 05 01:12:12 2019 +0200 @@ -2,7 +2,7 @@ FILE="$1"; COMMENT="$2"; -COPYRIGHT="Mouse utilities (c) $(date +%Y) Frantisek Kucera, Frantovo.cz, GlobalCode.info; copylefted under the GNU FDLv1.3+ license"; # this tag should be in ASCII, see http://www.exiv2.org/tags.html +COPYRIGHT="Mouse utilities (c) $(date +%Y) Frantisek Kucera, Frantovo.cz, GlobalCode.info; copylefted under the GNU FDLv1.3+ license; source: https://mouse.globalcode.info/"; # this tag should be in ASCII, see http://www.exiv2.org/tags.html [ -n "$FILE" ] && exiv2 -M "set Exif.Image.Copyright $COPYRIGHT" "$FILE"; [ -n "$COMMENT" ] && exiv2 -M "set Exif.Photo.UserComment charset=Unicode $COMMENT" "$FILE";