From ddfe768b54ce0b5d740fa0c7c0334056d56588bba65df170e1e9cb042af9cbb2 Mon Sep 17 00:00:00 2001 From: Herbert Graeber Date: Sat, 24 Aug 2024 11:17:44 +0000 Subject: [PATCH] - Version 1.3 * Support for dominant axis mode. Dominant axis toggle can be bound as a button action. * Fixed device detection for some serial Spaceballs which were misdetected due to spurious data arriving before the "@reset". * Normalized default axis mapping/sign for CadMan USB and Spaceball 5000 USB. * Linux: stop using the evdev time field, which was dropped in 32bit linux for year 2038 compatibility. * Protocol: added missing set/get requests for the repeat interval. * Updated device blacklists to ignore 3Dconnexion keyboards/mice. * Build improvements and fixes for various platforms. - Add libXext as a build requires OBS-URL: https://build.opensuse.org/package/show/hardware/spacenavd?expand=0&rev=31 --- .gitattributes | 23 +++ .gitignore | 1 + harden_spacenavd.service.patch | 24 +++ spacenavd-1.2.tar.gz | 3 + spacenavd-1.3.tar.gz | 3 + spacenavd-fix-pidfile.patch | 52 ++++++ spacenavd.8.gz | 3 + spacenavd.changes | 290 +++++++++++++++++++++++++++++++++ spacenavd.spec | 110 +++++++++++++ spnavrc | 24 +++ xinitrc-spacenavd | 2 + 11 files changed, 535 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 harden_spacenavd.service.patch create mode 100644 spacenavd-1.2.tar.gz create mode 100644 spacenavd-1.3.tar.gz create mode 100644 spacenavd-fix-pidfile.patch create mode 100644 spacenavd.8.gz create mode 100644 spacenavd.changes create mode 100644 spacenavd.spec create mode 100644 spnavrc create mode 100644 xinitrc-spacenavd diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/harden_spacenavd.service.patch b/harden_spacenavd.service.patch new file mode 100644 index 0000000..d3ff27f --- /dev/null +++ b/harden_spacenavd.service.patch @@ -0,0 +1,24 @@ +diff -ur spacenavd-1.0.orig/contrib/systemd/spacenavd.service spacenavd-1.0/contrib/systemd/spacenavd.service +--- spacenavd-1.0.orig/contrib/systemd/spacenavd.service 2022-04-25 16:03:28.338795433 +0200 ++++ spacenavd-1.0/contrib/systemd/spacenavd.service 2022-04-25 15:59:36.042588021 +0200 +@@ -3,9 +3,20 @@ + After=syslog.target + + [Service] ++# added automatically, for details please see ++# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort ++ProtectSystem=full ++ProtectHome=true ++ProtectHostname=true ++ProtectKernelTunables=true ++ProtectKernelModules=true ++ProtectKernelLogs=true ++ProtectControlGroups=true ++RestrictRealtime=true ++# end of automatic additions + Type=forking + PIDFile=/run/spnavd.pid + ExecStart=/usr/sbin/spacenavd + StandardError=syslog + + [Install] diff --git a/spacenavd-1.2.tar.gz b/spacenavd-1.2.tar.gz new file mode 100644 index 0000000..4bd2a30 --- /dev/null +++ b/spacenavd-1.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:94f28b56dcdb9e9439ea51a06fb1aae3ab5c5db3ca532d188c6d77d2148cc575 +size 62837 diff --git a/spacenavd-1.3.tar.gz b/spacenavd-1.3.tar.gz new file mode 100644 index 0000000..e66bdb7 --- /dev/null +++ b/spacenavd-1.3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4302836c31f7e0998ae7bb85e4d357b85cb8b9bcbc381abfaba4f647c5c2f726 +size 63619 diff --git a/spacenavd-fix-pidfile.patch b/spacenavd-fix-pidfile.patch new file mode 100644 index 0000000..0fa3c1e --- /dev/null +++ b/spacenavd-fix-pidfile.patch @@ -0,0 +1,52 @@ +diff -ur spacenavd-1.0.orig/contrib/systemd/spacenavd.service spacenavd-1.0/contrib/systemd/spacenavd.service +--- spacenavd-1.0.orig/contrib/systemd/spacenavd.service 2022-04-25 16:03:28.338795433 +0200 ++++ spacenavd-1.0/contrib/systemd/spacenavd.service 2022-04-25 16:40:21.644561051 +0200 +@@ -4,8 +4,8 @@ + + [Service] + Type=forking +-PIDFile=/var/run/spnavd.pid +-ExecStart=/usr/local/bin/spacenavd ++PIDFile=/run/spnavd.pid ++ExecStart=/usr/sbin/spacenavd + StandardError=syslog + + [Install] +diff -ur spacenavd-1.0.orig/init_script spacenavd-1.0/init_script +--- spacenavd-1.0.orig/init_script 2022-04-25 16:02:21.655184661 +0200 ++++ spacenavd-1.0/init_script 2022-04-25 16:16:16.866098885 +0200 +@@ -30,7 +30,7 @@ + stop) + echo 'Stopping spacenavd daemon' + # detect daemon's process id +- pid=`cat /var/run/spnavd.pid 2>/dev/null` ++ pid=`cat /run/spnavd.pid 2>/dev/null` + if [ $? != 0 ]; then + pid=`ps -e | grep spacenavd | awk '{ print $1 }'` + if [ -z "$pid" ]; then +diff -ur spacenavd-1.0.orig/spnavd_ctl spacenavd-1.0/spnavd_ctl +--- spacenavd-1.0.orig/spnavd_ctl 2022-04-25 16:02:21.655184661 +0200 ++++ spacenavd-1.0/spnavd_ctl 2022-04-25 16:16:41.818036452 +0200 +@@ -32,7 +32,7 @@ + fi + + # detect daemon's process id +-pid=`cat /var/run/spnavd.pid 2>/dev/null` ++pid=`cat /run/spnavd.pid 2>/dev/null` + if [ $? != 0 ]; then + pid=`ps -e | grep spacenavd | awk '{ print $1 }'` + if [ -z "$pid" ]; then +diff -ur spacenavd-1.0.orig/src/spnavd.h spacenavd-1.0/src/spnavd.h +--- spacenavd-1.0.orig/src/spnavd.h 2022-04-25 16:02:21.655184661 +0200 ++++ spacenavd-1.0/src/spnavd.h 2022-04-25 16:17:04.797947800 +0200 +@@ -26,8 +26,8 @@ + #define DEF_CFGFILE CFGDIR "/spnavrc" + #define DEF_LOGFILE "/var/log/spnavd.log" + +-#define SOCK_NAME "/var/run/spnav.sock" +-#define PIDFILE "/var/run/spnavd.pid" ++#define SOCK_NAME "/run/spnav.sock" ++#define PIDFILE "/run/spnavd.pid" + #define SYSLOG_ID "spnavd" + + /* Multiple devices support */ diff --git a/spacenavd.8.gz b/spacenavd.8.gz new file mode 100644 index 0000000..b5fd0d3 --- /dev/null +++ b/spacenavd.8.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c4301762f5ef0698a1d42c701bfb56fba511cb355853e40b90e80f9b49d4d174 +size 1425 diff --git a/spacenavd.changes b/spacenavd.changes new file mode 100644 index 0000000..82551ad --- /dev/null +++ b/spacenavd.changes @@ -0,0 +1,290 @@ +------------------------------------------------------------------- +Thu Aug 22 19:29:13 UTC 2024 - Herbert Graeber + +- Version 1.3 + * Support for dominant axis mode. Dominant axis toggle can be bound as + a button action. + * Fixed device detection for some serial Spaceballs which were misdetected + due to spurious data arriving before the "@reset". + * Normalized default axis mapping/sign for CadMan USB and Spaceball 5000 USB. + * Linux: stop using the evdev time field, which was dropped in 32bit linux + for year 2038 compatibility. + * Protocol: added missing set/get requests for the repeat interval. + * Updated device blacklists to ignore 3Dconnexion keyboards/mice. + * Build improvements and fixes for various platforms. +- Add libXext as a build requires + +------------------------------------------------------------------- +Thu Feb 22 21:49:37 UTC 2024 - Herbert Graeber + +- Replace %patchN with %autosetup + +------------------------------------------------------------------- +Fri Dec 23 20:47:37 UTC 2022 - Herbert Graeber + +- Update to version 1.2 + * Fixed incorrect button mappings for the SpaceMouse Pro. The button remapping + which was designed to fix this in v1.1 would end up becoming disabled due to + an incorrect assumption about reported number of buttons. + * Fixed incorrect number of stop bits for serial magellan spacemice. Some devices + tolerated that, while others did not work. + * Improved compatibility with some serial spaceballs. Relaxed the device matching + condition and allowed some time for the device to boot up before initializing it. + * Added hardcoded "reasonable" default values for number of axes and buttons in + the incomplete FreeBSD USB device handling code, to stop it from reporting 0 axes + and freaking clients out. This is a stop-gap, eventually it needs to be + implemented correctly. + +------------------------------------------------------------------- +Sun Sep 25 16:47:35 UTC 2022 - Herbert Graeber + +- Add example files to package + +------------------------------------------------------------------- +Sun Sep 25 16:30:12 UTC 2022 - Herbert Graeber + +- Update to version 1.1 + * fixed incorrect number of buttons reported on SpaceMouse Pro and SpaceMouse + Enterprise. + * fixed non-contiguous button numbers on SpaceMouse Pro and SpaceMouse Enterprise, + which could crash spnavcfg. + * linux evdev: detect button base offset, instead of hardcoding 256 (BN_MISC), + which fixes incorrect button numbers on the Magellan SpaceMouse USB. + * fixed crash when attempting to save configuration (save command received from + the client socket), and a configuration file does not already exist. + * linux hotplug: use delayed activation to avoid multiple hotplug triggers and + the resulting log spam. + * reduced logging on the "verbose" setting. Now accepting multiple -v arguments + for maximum verbosity. + * fixed compatibility with newer 3dconnexion SDK clients. + * fixed libm link omission, which broke the build on systems where isfinite is not + a macro to a compiler built-in (BSD libc). + * Added example configuration files with reasonable button mappings for the + SpacePilot and the SpaceMouse Enterprise under doc/. + +------------------------------------------------------------------- +Tue Apr 26 10:34:54 UTC 2022 - Herbert Graeber 1.0 + +- Fix spacenavd path in service file + +------------------------------------------------------------------- +Mon Apr 25 14:43:00 UTC 2022 - Herbert Graeber 1.0 + +- Readd spacenavd-fix-pidfile.patch + +------------------------------------------------------------------- +Mon Apr 25 13:33:52 UTC 2022 - Herbert Graeber 1.0 + +- Update to version 1.0 + * Implemented hugely improved spacenav protocol v1. It includes future + expandability provisions, and adds support for a wealth of new capabilities + for clients, including: + + device information queries (number of buttons and axes, device identification...). + + configuration management (allows configuration tools like spnavcfg to be + regular clients without special priviledges). + + new events, with event selection mechanism (device change, config change, + raw axis, raw button). + * Improved configuration file handling. Spacenavd now saves changes to the file, + and does so while retaining user changes, including comments and empty lines, + and modifying existing lines when possible. + * Added device level axis remapping (non-configurable), to normalize axis + assignments across all known devices, to avoid having to change the configuration + every time a different device is connected. + * Added initial USB device support on FreeBSD. + * Added the ability to bind buttons to actions like sensitivity changes or axis muting. + * Added XTEST support for keyboard event injection, which works much more reliably. + Falls back to XSendEvent if XTEST is unavailable. + * Fixed serial magellan spacemouse compatibility over USB-serial converters with the PL2303 UART. + * Added --cfgdir= build option, to change the configuration file directory. + * Fixed MacOS X build. + * Fixed LED staying on on startup if it was configured otherwise. + * Fixed inconsistent handling of the logging method selection arguments. + * Fixed spacenavd terminating with SIGPIPE when clients disconnected ungracefully. + * Build fixes and improvements. +- Remove spacenavd-fix-pidfile.patch + +------------------------------------------------------------------- +Wed Nov 17 10:49:36 UTC 2021 - Johannes Segitz + +- Added hardening to systemd service(s) (bsc#1181400). Added patch(es): + * harden_spacenavd.service.patch + Modified: + * spacenavd.service + +------------------------------------------------------------------- +Tue Mar 16 18:56:16 UTC 2021 - Herbert Graeber + +- Update to version 0.8 + * Rewrote the serial spaceball code from scratch, to support both spaceball + and magellan spacemice. + * Fixed non-X11 build which was broken in the previous version. + * Print usage information when encountering an invalid argument, instead of + just printing "invalid argument". + * Minor build improvements. +- Log stderr to default logger +- Update list of supported devices in spec file + +------------------------------------------------------------------- +Tue Mar 31 15:36:18 UTC 2020 - Herbert Graeber + +- Remove unnecessary _service file + +------------------------------------------------------------------- +Sun Mar 22 17:19:36 UTC 2020 - Herbert Graeber + +- Fix pidfile (/var/run -> /run) + +------------------------------------------------------------------- +Sun Mar 22 12:30:44 UTC 2020 - Herbert Graeber + +- Bugfix release 0.7.1 + * fixed build on gcc 10 + * fixed configure script which failed to detect the version number correctly + in release 0.7, incorrectly trying to rely on git to do so. +- remove support for pre-systemd openSUSE releases +- remove patch spacenavd-add-blacklist-and-device-ids.patch +- remove patch spacenavd-add-missing-usbid.patch +- remove patch spacenavd-0.6+git3066072.patch +- remove patch spacenavd-fix-pidfile.patch +- Release 0.7 + * implemented the ability to log to syslog. + * ignore joystick devices when searching for USB devices (linux). + * added code to attempt to wrestle devices from the X server. + * added the new 3Dconnexion vendor id to the device matching logic. + * made builds reproducible by linking in alphabetical order. + * added option led = auto, to turn the LED on only when a client connects (linux). + * implemented a blacklist of USB device ids that should be ignored. + +------------------------------------------------------------------- +Sat Mar 16 11:30:05 UTC 2019 - Herbert Graeber + +- Add two upstream patches for proper handling of device ids: + * spacenavd-add-blacklist-and-device-ids.patch + * spacenavd-add-missing-usbid.patch + +------------------------------------------------------------------- +Sat Aug 25 21:52:43 UTC 2018 - herbert@graeber-clan.de + +- Add patch spacenavd-0.6+git3066072.patch with some bug fixes und support + for newer devices: + * minor formatting fixes old and new, and usage of the LED_AUTO enumeration + in src/client.c + * LED state enumeration instead of magic numbers, since it's no longer + a simple boolean value. + * improve device information provided by daemon + * updated readme file + * replaced the svn $rev$ substitution with git describe falling back to + git rev-parse HEAD + * fixed axis detection, and added detection of the number of buttons for USB + devices on linux + * Applied Wiedemann's patch (sf#6) to link object files in alphabetical order + * Added missing include to dev_usb_darwin.c closing bug #10 + * fixed a small bug in device detection which sometimes skipped a single + character during parsing + * added rule to match devices with the new 3Dconnexion vendor id (0x256f) + * Better example-spnavrc descriptions - remove some debugging printfs which + where commited accidentally previously + * moved axis remapping before checking deadzones + * trying to remove devices from Xinput + * added all the missing options to the example-spnavrc file + * possible fix for bug #9 + * added code to skip joystick device files while parsing /proc/bus/input/devices +- Drop reproducible.patch + +------------------------------------------------------------------- +Sat Aug 25 20:38:40 UTC 2018 - herbert@graeber-clan.de + +- Add modalias supplements for all supported devices + +------------------------------------------------------------------- +Sat Aug 25 19:30:10 UTC 2018 - herbert@graeber-clan.de + +- The repository moved to github +- Rerelease of version 0.6 + * added example config file + * fixed setup_init failing to detect the correct runlevel in some cases. + * fixed calculation of time periods in motion events. + * code refactoring to support multiple operating systems. + * added freebsd and macos x support for serial devices. + * fixed build when system headers don't define EV_SYN (linux). + * added dependency tracking in the makefile. + * added separate sensitivity control for each axis. + * added separate deadzone control for each axis. + * added option to avoid grabbing the device. + * fixed spurious error messages on SIGHUP. + * added auto-repeat non-zero events option (useful for serial devices). + * added button number remapping configuration option. + * added keyboard emulation option. + * abort if spacenavd is already running. + * heed DESTDIR env var in makefile install and uninstall targets. + * merged serial magellan protocol code. + * added systemd init file under contrib/. + * merged Ralf Morel's patch for multiple device support. + * improved XAUTHORITY handling. + * improved device selection with predicate callback and USB ids. + * added joystick support. + * fixed axis remapping for some HID devices. + * fixed race condition in X detection. + * applied Christian Ehrlicher's patches fixing a number of memory bugs. + +------------------------------------------------------------------- +Wed Feb 14 19:06:12 UTC 2018 - crrodriguez@opensuse.org + +- Remove buildRequires on xorg-x11-devel + +------------------------------------------------------------------- +Sat May 27 05:26:02 UTC 2017 - bwiedemann@suse.com + +- Add reproducible.patch to sort input files to make build reproducible + (boo#1041090) + +------------------------------------------------------------------- +Sun Oct 30 17:43:38 UTC 2016 - jengelh@inai.de + +- Rectify description, use source URL and avoid sysvinit calls + under systemd. + +------------------------------------------------------------------- +Thu Oct 27 17:52:13 UTC 2016 - herbert@graeber-clan.de + +- Add a manpage taken from debian + +------------------------------------------------------------------- +Thu Oct 27 11:50:40 UTC 2016 - dan.weatherill@cantab.net + +- add xdpyinfo package as explicit dependency, it is required for +the spnavd_ctl script to work properly + +------------------------------------------------------------------- +Mon Mar 2 20:45:40 UTC 2015 - herbert@graeber-clan.de + +- Update to version 0.6 +- Remove init file + +------------------------------------------------------------------- +Sun Sep 8 13:59:19 UTC 2013 - herbert@graeber-clan.de + +- Change license into SPDX format +- Add systemd support +- Spec file cleanup + +------------------------------------------------------------------- +Mon Jan 24 19:49:46 UTC 2011 - herbert@graeber-clan.de + +- Update to version 0.5 +- Use separate changes file + +------------------------------------------------------------------- +Sun Mar 22 00:00:00 UTC 2009 - herbert@graeber-clan.de + +- Added rcspacenavd link +- Fixed xinitrc script + +------------------------------------------------------------------- +Sat Mar 21 00:00:00 UTC 2009 - herbert@graeber-clan.de + +- Initial package +- Add new init-script +- Add commented configuration file +- Add xinitrc script + diff --git a/spacenavd.spec b/spacenavd.spec new file mode 100644 index 0000000..f7ed4a2 --- /dev/null +++ b/spacenavd.spec @@ -0,0 +1,110 @@ +# +# spec file for package spacenavd +# +# Copyright (c) 2024 SUSE LLC +# Copyright (c) 2009,2011,2013 Herbert Graeber +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: spacenavd +Version: 1.3 +Release: 0 +Summary: Daemon for 3Dconnexion devices +License: GPL-3.0-or-later +Group: Hardware/Other +URL: http://spacenav.sourceforge.net +Source: https://github.com/FreeSpacenav/spacenavd/releases/download/v%{version}/%{name}-%{version}.tar.gz +Source1: spacenavd.8.gz +Source2: spnavrc +Source3: xinitrc-%{name} +Patch1: spacenavd-fix-pidfile.patch +Patch2: harden_spacenavd.service.patch +BuildRequires: pkgconfig +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(x11) +BuildRequires: pkgconfig(xext) +%{?systemd_requires} +Requires: xdpyinfo +Supplements: modalias(usb:v046DpC603d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v046DpC605d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v046DpC606d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v046DpC621d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v046DpC623d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v046DpC625d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v046DpC626d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v046DpC627d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v046DpC628d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v046DpC629d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v046DpC62bd*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v046DpC640d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v256FpC62Fd*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v256FpC631d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v256FpC632d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v256FpC633d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v256FpC634d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v256FpC635d*dc*dsc*dp*ic*isc*ip*) +Supplements: modalias(usb:v256FpC636d*dc*dsc*dp*ic*isc*ip*) + +%description +Spacenavd is a free software replacement user-space driver (daemon) +for 3Dconnexion's 6-degree-of-freedoms input devices. It is +compatible with the original 3dxsrv daemon, and works perfectly with +any program that was written for the 3Dconnexion driver. + +%prep +%autosetup -p1 + +%build +%configure +make %{?_smp_mflags} opt="%{optflags}" + +%install +install -D -m 755 %{name} %{buildroot}%{_sbindir}/%{name} +install -D -m 755 spnavd_ctl %{buildroot}%{_bindir}/spnavd_ctl +install -D -m 644 %{SOURCE1} %{buildroot}%{_mandir}/man8/spacenavd.8.gz +ln -sf spacenavd.8.gz %{buildroot}%{_mandir}/man8/spnavd_ctl.8.gz +install -D -m 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/spnavrc +install -D -m 755 %{SOURCE3} %{buildroot}%{_sysconfdir}/X11/xinit/xinitrc.d/%{name} +ln -sf service %{buildroot}%{_sbindir}/rc%{name} +install -D -m 644 contrib/systemd/%{name}.service %{buildroot}%{_unitdir}/%{name}.service + +%post +%fillup_only -n %{name} +%service_add_post %{name}.service + +%postun +%service_del_postun %{name}.service + +%pre +%service_add_pre %{name}.service + +%preun +%service_del_preun %{name}.service + +%files +%license COPYING +%doc README.md +%doc doc/example-spnavrc +%doc doc/spnavrc_smouse_ent +%doc doc/spnavrc_spilot +%{_sbindir}/%{name} +%{_sbindir}/rc%{name} +%{_bindir}/spnavd_ctl +%config(noreplace) %{_sysconfdir}/spnavrc +%{_unitdir}/%{name}.service +%{_mandir}/man8/spacenavd.8%{?ext_man} +%{_mandir}/man8/spnavd_ctl.8%{?ext_man} +%{_sysconfdir}/X11/xinit/ + +%changelog diff --git a/spnavrc b/spnavrc new file mode 100644 index 0000000..15efc03 --- /dev/null +++ b/spnavrc @@ -0,0 +1,24 @@ +# +# dead zone. +# Sensor values below this do not generate events +# +dead-zone = 2 + +# +# sensitivity +# Factor multiplied to senosr values +# +sensitivity = 1.0 + +# +# invert-rot/invert-trans +# Axes enumerated here (x, y and/or z) will be inverted +# +invert-rot = +invert-trans = + +# +# led +# Specifies if the blue led should be on or of, when spacenavd is running +# +led = on diff --git a/xinitrc-spacenavd b/xinitrc-spacenavd new file mode 100644 index 0000000..c4b9dcf --- /dev/null +++ b/xinitrc-spacenavd @@ -0,0 +1,2 @@ +#!/bin/sh +test -f /usr/run/spacenavd.pid && /usr/sbin/spacenav_ctl x11 start