33develop: [ ![ Build Status develop] ( https://travis-ci.org/jahnf/Projecteur.svg?branch=develop )] ( https://travis-ci.org/jahnf/Projecteur )
44master: [ ![ Build Status master] ( https://travis-ci.org/jahnf/Projecteur.svg?branch=master )] ( https://travis-ci.org/jahnf/Projecteur )
55
6- Linux/X11 application for the Logitech Spotlight device.
6+ Linux/X11 application for the Logitech Spotlight device. \
7+ See [ Download] ( #download ) section for binary packages.
78
89Copyright 2018-2019
[ Jahn Fuchs
] ( mailto:[email protected] ) 910
1011## Motivation
1112
1213I saw the Logitech Spotlight device in action at a conference and liked it
13- immediately. Unfortenately as in a lot of cases software is only provided for Windows
14+ immediately. Unfortunately as in a lot of cases software is only provided for Windows
1415and Mac. The device itself works just fine on Linux, but the cool spot feature
1516is done by additional software.
1617
1718So here it is: a Linux application for the Logitech Spotlight.
1819
1920## Features
2021
21- * Configurable desktop spotlight. Configure color, opacity, cursor, center dot.
22+ * Configurable desktop spotlight. Configure color, opacity, cursor, center dot and shape .
2223* Multiple screen support
2324
2425![ Settings] ( ./doc/screenshot-settings.png )
@@ -38,24 +39,41 @@ The mouse input device sends relative cursor coordinates and left button presses
3839The keyboard device basically just sends left and right arrow key events when
3940forward or back on the device is pressed.
4041
41- The dectected mouse input device is what we are interested in. Since it's
42+ The detected mouse input device is what we are interested in. Since it's
4243already detected as a mouse input device and able to move the cursor, we will
4344simply detect if it is the Spotlight device which is sending mouse events.
4445If it is sending mouse events, we will 'turn on' the desktop spot.
4546
4647For more details: Have a look at the source code ;)
4748
49+ ## Download
50+
51+ The latest automatically built binary packages for some Linux distributions
52+ can be downloaded from bintray:
53+
54+ Make sure to add the user running the application to the ` spotlight-device ` group
55+ after package installation. This group is created during installation of the binary packages.
56+ _ Note_ : When adding your user to a new group you will need to login and logout again
57+ for the change to take full effect.
58+
59+ Latest develop:
60+ [ ![ Download] ( https://api.bintray.com/packages/jahnf/Projecteur/projecteur-develop/images/download.svg ) ] ( https://bintray.com/jahnf/Projecteur/projecteur-develop/_latestVersion#files )
61+
62+ Latest release:
63+ [ ![ Download] ( https://api.bintray.com/packages/jahnf/Projecteur/projecteur-master/images/download.svg ) ] ( https://bintray.com/jahnf/Projecteur/projecteur-master/_latestVersion#files )
64+
4865## Building
4966
5067### Requirements
5168
5269* C++11 compiler
5370* CMake 3.6 or later
54- * Qt 5.9 and later
71+ * Qt 5.6 and later
5572
5673### Build Example
5774
58- Note: You can ommit setting the ` QTDIR ` variable, CMake will then usually find the Qt versin that comes with the distribution's packacke management.
75+ Note: You can omit setting the ` QTDIR ` variable, CMake will then usually find
76+ the Qt version that comes with the distribution's package management.
5977
6078 > git clone https://github.com/jahnf/projecteur
6179 > cd projecteur
@@ -67,18 +85,87 @@ Note: You can ommit setting the `QTDIR` variable, CMake will then usually find t
6785
6886### Pre-requisites
6987
88+ #### When using pre-built binary packages
89+
90+ Make sure to add the user running the application to the ` spotlight-device ` group
91+ after package installation. This group is created during installation of the binary packages. \
92+ _ Note_ : When adding your user to a new group you will need to login and logout again
93+ for the change to take full effect.
94+
95+ #### When building Projecteur yourself
96+
7097The input devices detected from the Spotlight device must be readable to the
7198user running the application. To make this easier there is a udev rule template
72- file in this repository: ` 55-spotlight.rules `
99+ file in this repository: ` 55-spotlight.rules.in `
73100
74- * Copy this file to /etc/udev/rules.d/55-spotlight.rules and update the
75- 'plugdev' group in the file to a group you are a member in
101+ * Copy that file to ` /etc/udev/rules.d/55-spotlight.rules ` and replace the
102+ '@DEVICE_USER_GROUP@' in the file with a group your user is a member in
76103* Run ` sudo udevadm control --reload-rules ` and ` sudo udevadm trigger ` to load
77104 the rules without a reboot.
78105* After that the two input devices from the Logitech USB Receiver in /dev/input
79- should have the group 'plugdev', i.e. the group you configure in the rules file.
106+ should have the group you used, i.e. the group you configured in the rules file.
107+ * When building against the Qt version that comes with your distribution's packages
108+ you might need to install some additional QML module packages. For example this
109+ is the case for Ubuntu, where you need to install the packages
110+ ` qml-module-qtgraphicaleffrects ` , ` qml-module-qtquick-window2 ` and ` qml-modules-qtquick2 `
111+ to satisfy the application's runtime dependencies.
80112
81113### Application Menu
82114
83115The application menu is accessable via the system tray icon. There you will find
84116the preferences and the menu entry to exit the application.
117+
118+ ### Command Line Interface
119+
120+ Additional to the standard ` --help ` and ` --version ` options, there is an option to send
121+ commands to a running instance of _ Projecteur_ .
122+
123+ ```
124+ Usage: projecteur [option]
125+
126+ <Options>
127+ -h, --help Show command line usage.
128+ -v, --version Print application version.
129+ -c COMMAND Send command to a running instance.
130+
131+ <Commands>
132+ spot=[on|off] Turn spotlight on/off.
133+ settings=[show|hide] Show/hide preferences dialog.
134+ quit Quit the running instance.
135+ ```
136+
137+ ### Troubleshooting
138+
139+ #### Missing System Tray
140+
141+ _ Projecteur_ was developed and tested on GNOME and KDE Desktop environments, but should
142+ work on most other desktop environments. If the system tray with the _ Application Menu_
143+ is not showing, commands can be send to the application to bring up the preferences
144+ dialog, to test the spotlight or quit the application.
145+ See [ Command Line Interface] ( #command-line-interface ) .
146+
147+ #### Wayland
148+
149+ While not developed with Wayland in mind, some users reported _ Projecteur_ works with
150+ Wayland. If you experience problems, you can try to set the ` QT_QPA_PLATFORM ` environment
151+ variable to ` wayland ` :
152+
153+ ```
154+ user@ubuntu1904:~/Projecteur/build$ QT_QPA_PLATFORM=wayland ./projecteur
155+ Using Wayland-EGL
156+ ```
157+
158+ #### Device shows as not connected
159+
160+ If the device shows as not connected, there are some things you can do:
161+
162+ * Make sure the device is detected by the Linux system: Run
163+ ` cat /proc/bus/input/devices | grep -A 3 "Vendor=046d" ` \
164+ This should show one or multiple spotlight devices (among other Logitech devices)
165+ * Make sure the detected devices have the correct user/group asssigned. \
166+ Run ` ls -al /dev/input/event* | grep spotlight `
167+ (or replace ` spotlight ` by a string that matches the group you put into the
168+ udev rule file in case you edited it yourself). \
169+ * Make sure you don't have conflicting udev rules installed, e.g. first you installed
170+ the udev rule yourself and later you used the automatically built Linux packages to
171+ install _ Projecteur_ .
0 commit comments