Compare commits
17
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
96591e26fa | ||
|
|
9907e0062b | ||
|
|
a3bbbca557 | ||
|
|
351c169ea5 | ||
|
|
5fb544492b | ||
|
|
617a6ef06c | ||
|
|
503d5138ca | ||
|
|
7aab0cc87f | ||
|
|
dda0192482 | ||
|
|
6c79eaa189 | ||
|
|
b4412b7c70 | ||
|
|
59793e4434 | ||
|
|
1363e7ede4 | ||
|
|
9be03a7841 | ||
|
|
1525a75133 | ||
|
|
e34c9fcf1c | ||
|
|
c9a200ca8e |
No files matched your search
@@ -37,6 +37,113 @@ to have the MR key as the client screen switch.
|
|||||||
If all required libraries are installed and in locations known to your operating system, the daemon will slip quietly into the background and a clock will appear on the LCD.
|
If all required libraries are installed and in locations known to your operating system, the daemon will slip quietly into the background and a clock will appear on the LCD.
|
||||||
Congratulations! The linux kernel will now output keycodes for all your extra keys.
|
Congratulations! The linux kernel will now output keycodes for all your extra keys.
|
||||||
|
|
||||||
|
.SH "Using the keys in X11"
|
||||||
|
Current versions of the Xorg Xserver dont have support for the extra keys that g15daemon provides. This support will be available in the next release of Xorg (7.2).
|
||||||
|
|
||||||
|
For now, if you want access to the extra keys for hotkey support in X11, you need to run the xmodmaprc script on each start of X. This script is available in the contrib folder (if g15daemon is installed in the default location, the contrib folder is in /usr/share/doc/g15daemon\-${VERSION}/contrib
|
||||||
|
|
||||||
|
Depending on your linux distribution, copying the xmodmaprc file (or pasting the text below) into ~/.Xmodmap may be all that's required.
|
||||||
|
|
||||||
|
.SH "Xmodmaprc file"
|
||||||
|
Copy the following into ~/.Xmodmap (depending on your distribution) for X11 to recognise all extra G15 keys:
|
||||||
|
|
||||||
|
\-\- cut here \-\-
|
||||||
|
.br
|
||||||
|
keycode 93 = XF86Launch1
|
||||||
|
.br
|
||||||
|
keycode 129 = XF86Launch8
|
||||||
|
.br
|
||||||
|
keycode 130 = XF86Launch9
|
||||||
|
.br
|
||||||
|
keycode 131 = XF86Launch2
|
||||||
|
.br
|
||||||
|
keycode 132 = XF86Phone
|
||||||
|
.br
|
||||||
|
keycode 133 = XF86Messenger
|
||||||
|
.br
|
||||||
|
keycode 136 = XF86LaunchD
|
||||||
|
.br
|
||||||
|
keycode 137 = XF86Support
|
||||||
|
.br
|
||||||
|
keycode 138 = XF86Word
|
||||||
|
.br
|
||||||
|
keycode 143 = XF86LaunchF
|
||||||
|
.br
|
||||||
|
keycode 144 = XF86AudioPrev
|
||||||
|
.br
|
||||||
|
keycode 150 = XF86LogOff
|
||||||
|
.br
|
||||||
|
keycode 152 = XF86Launch5
|
||||||
|
.br
|
||||||
|
keycode 153 = XF86AudioNext
|
||||||
|
.br
|
||||||
|
keycode 160 = XF86AudioMute
|
||||||
|
.br
|
||||||
|
keycode 161 = XF86Travel
|
||||||
|
.br
|
||||||
|
keycode 162 = XF86AudioPlay
|
||||||
|
.br
|
||||||
|
keycode 163 = XF86Spell
|
||||||
|
.br
|
||||||
|
keycode 164 = XF86AudioStop
|
||||||
|
.br
|
||||||
|
keycode 170 = XF86VendorHome
|
||||||
|
.br
|
||||||
|
keycode 174 = XF86AudioLowerVolume
|
||||||
|
.br
|
||||||
|
keycode 176 = XF86AudioRaiseVolume
|
||||||
|
.br
|
||||||
|
keycode 177 = XF86Launch4
|
||||||
|
.br
|
||||||
|
keycode 178 = XF86HomePage
|
||||||
|
.br
|
||||||
|
keycode 182 = XF86Away
|
||||||
|
.br
|
||||||
|
keycode 183 = XF86WebCam
|
||||||
|
.br
|
||||||
|
keycode 184 = XF86Launch0
|
||||||
|
.br
|
||||||
|
keycode 188 = XF86Music
|
||||||
|
.br
|
||||||
|
keycode 190 = XF86Launch6
|
||||||
|
.br
|
||||||
|
keycode 194 = XF86Forward
|
||||||
|
.br
|
||||||
|
keycode 195 = XF86Send
|
||||||
|
.br
|
||||||
|
keycode 205 = XF86Calendar
|
||||||
|
.br
|
||||||
|
keycode 208 = XF86Launch7
|
||||||
|
.br
|
||||||
|
keycode 209 = XF86LaunchB
|
||||||
|
.br
|
||||||
|
keycode 210 = XF86LaunchC
|
||||||
|
.br
|
||||||
|
keycode 215 = XF86Save
|
||||||
|
.br
|
||||||
|
keycode 219 = XF86WWW
|
||||||
|
.br
|
||||||
|
keycode 220 = XF86LaunchE
|
||||||
|
.br
|
||||||
|
keycode 223 = XF86Sleep
|
||||||
|
.br
|
||||||
|
keycode 228 = XF86Pictures
|
||||||
|
.br
|
||||||
|
keycode 231 = XF86LaunchA
|
||||||
|
.br
|
||||||
|
keycode 236 = XF86Mail
|
||||||
|
.br
|
||||||
|
keycode 237 = XF86AudioMedia
|
||||||
|
.br
|
||||||
|
keycode 246 = XF86iTouch
|
||||||
|
.br
|
||||||
|
keycode 247 = XF86Launch3
|
||||||
|
.br
|
||||||
|
keycode 249 = XF86ToDoList
|
||||||
|
.br
|
||||||
|
keycode 251 = XF86Calculater
|
||||||
|
.br
|
||||||
|
\-\- end cutting \-\-
|
||||||
.SH "AUTHORS"
|
.SH "AUTHORS"
|
||||||
The latest release of g15daemon is available at
|
The latest release of g15daemon is available at
|
||||||
.P
|
.P
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ Example:
|
|||||||
int retval = 0;
|
int retval = 0;
|
||||||
int screen_fd = new_g15_screen( G15_WBMPBUF );
|
int screen_fd = new_g15_screen( G15_WBMPBUF );
|
||||||
|
|
||||||
... do processing and display here ...
|
... do processing and display here ...
|
||||||
|
|
||||||
retval = g15_close_screen( screen_fd );
|
retval = g15_close_screen( screen_fd );
|
||||||
|
|
||||||
|
|||||||
Vendored
+98
-2
@@ -1,3 +1,99 @@
|
|||||||
|
g15daemon (1.9.5.3-10) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Rebuild (no source changes).
|
||||||
|
|
||||||
|
-- Andrej Shadura <andrewsh@debian.org> Sat, 16 Nov 2019 19:25:13 +0100
|
||||||
|
|
||||||
|
g15daemon (1.9.5.3-9) unstable; urgency=medium
|
||||||
|
|
||||||
|
[ Alexander Ponyatykh ]
|
||||||
|
* Reintroduce package. (Closes: bug#928158)
|
||||||
|
* Convert source to 3.0 (quilt) format.
|
||||||
|
* Migrate from cdbs to debhelper.
|
||||||
|
* Merge from Ubuntu:
|
||||||
|
- libg15daemon_client/g15daemon_net.c: Fix a potential buffer overflow.
|
||||||
|
* debian/patches/07-reinit-on-any-error.diff: reinitialize on any error
|
||||||
|
returned by libusb to correctly recover after suspend/resume. (LP: #1357556)
|
||||||
|
* /etc/init.d/g15daemon: overhaul.
|
||||||
|
- Replace /dev/input/uinput with /dev/uinput. (Closes: bug#687663).
|
||||||
|
- Use "udevadm settle" instead of polling /dev/uinput.
|
||||||
|
- Use log_*_msg functions instead of echo.
|
||||||
|
- Add dependency on $remote_fs.
|
||||||
|
- Remove bashism. (Closes: bug#772244)
|
||||||
|
- Return 0 exit code if the daemon fails to start.
|
||||||
|
(LP: #617101, LP: #1103275)
|
||||||
|
- Don't stop or restart on udev events, because g15daemon now properly
|
||||||
|
handles replugging.
|
||||||
|
* Remove build dependency on libusb.
|
||||||
|
* Remove dependency on libg15daemon-client1 for g15daemon.
|
||||||
|
* Add dependency on udev for g15daemon.
|
||||||
|
* Change priority of packages to optional.
|
||||||
|
* Add native systemd service. (LP: #1441365)
|
||||||
|
* /etc/default/g15daemon: remove SWITCH_KEY option to keep systemd service
|
||||||
|
file simple.
|
||||||
|
* Add subsystem check to udev matching rules.
|
||||||
|
* Multiarchify the library packages. (Closes: bug#812952)
|
||||||
|
* Do not install *.la files.
|
||||||
|
* Change package description. (Closes: bug#802652)
|
||||||
|
|
||||||
|
[ Andrej Shadura ]
|
||||||
|
* Wrap and sort.
|
||||||
|
* Use debhelper-compat instead of debian/compat.
|
||||||
|
* d/changelog: Remove trailing whitespaces.
|
||||||
|
* d/control: Add Vcs-* field.
|
||||||
|
* d/watch: Use https protocol.
|
||||||
|
|
||||||
|
-- Andrej Shadura <andrewsh@debian.org> Sat, 19 Oct 2019 21:15:39 +0200
|
||||||
|
|
||||||
|
g15daemon (1.9.5.3-8.3) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Non-maintainer upload.
|
||||||
|
* debian/control: Drop unnecessary automake1.9 build deps. (Closes:
|
||||||
|
#724371)
|
||||||
|
|
||||||
|
-- Eric Dorland <eric@debian.org> Tue, 04 Mar 2014 23:50:12 -0500
|
||||||
|
|
||||||
|
g15daemon (1.9.5.3-8.2) unstable; urgency=low
|
||||||
|
|
||||||
|
* Non-maintainer upload.
|
||||||
|
* Use ATTR instead of SYSFS in udev rules (closes: #573434).
|
||||||
|
* Remove references to other libraries from dependency_libs field
|
||||||
|
(closes: #629592).
|
||||||
|
|
||||||
|
-- Luk Claes <luk@debian.org> Tue, 31 May 2011 07:33:52 +0200
|
||||||
|
|
||||||
|
g15daemon (1.9.5.3-8.1) unstable; urgency=low
|
||||||
|
|
||||||
|
* Non-maintainer upload.
|
||||||
|
* Send a sync event after key up/down (closes: #567213).
|
||||||
|
|
||||||
|
-- Julien Cristau <jcristau@debian.org> Sun, 25 Jul 2010 11:39:22 +0200
|
||||||
|
|
||||||
|
g15daemon (1.9.5.3-8) unstable; urgency=low
|
||||||
|
|
||||||
|
* Put the third argument (modes) on open with O_CREAT (Closes: #559649)
|
||||||
|
* remove rpath
|
||||||
|
|
||||||
|
-- Giacomo Catenazzi <cate@debian.org> Fri, 18 Dec 2009 07:52:26 +0100
|
||||||
|
|
||||||
|
g15daemon (1.9.5.3-7) unstable; urgency=low
|
||||||
|
|
||||||
|
* Change priority of libg15daemon-client1 from extra to optional
|
||||||
|
(mumble package needs it)
|
||||||
|
|
||||||
|
-- Giacomo Catenazzi <cate@debian.org> Tue, 01 Sep 2009 19:50:38 +0200
|
||||||
|
|
||||||
|
g15daemon (1.9.5.3-6) unstable; urgency=low
|
||||||
|
|
||||||
|
* Shared devices (lcd dispaly + audio) are not good handled
|
||||||
|
by udev script. Adding workaround until improving
|
||||||
|
programs to handle disconnections (Closes: #541780)
|
||||||
|
* Add debugging flag (and code) for init.d and udev scripts
|
||||||
|
* Change syslog facility: from user to daemon
|
||||||
|
* better (and more secure) screenshort creation in /tmp
|
||||||
|
|
||||||
|
-- Giacomo Catenazzi <cate@debian.org> Wed, 19 Aug 2009 07:33:22 +0200
|
||||||
|
|
||||||
g15daemon (1.9.5.3-5) unstable; urgency=low
|
g15daemon (1.9.5.3-5) unstable; urgency=low
|
||||||
|
|
||||||
* Handle keyboard device with udev, so detecting detachement
|
* Handle keyboard device with udev, so detecting detachement
|
||||||
@@ -35,7 +131,7 @@ g15daemon (1.9.5.3-2) unstable; urgency=low
|
|||||||
-- Giacomo Catenazzi <cate@debian.org> Mon, 07 Apr 2008 19:56:34 +0200
|
-- Giacomo Catenazzi <cate@debian.org> Mon, 07 Apr 2008 19:56:34 +0200
|
||||||
|
|
||||||
g15daemon (1.9.5.3-1) unstable; urgency=low
|
g15daemon (1.9.5.3-1) unstable; urgency=low
|
||||||
|
|
||||||
* New upstream version
|
* New upstream version
|
||||||
|
|
||||||
-- Giacomo Catenazzi <cate@debian.org> Thu, 14 Feb 2008 08:08:03 +0100
|
-- Giacomo Catenazzi <cate@debian.org> Thu, 14 Feb 2008 08:08:03 +0100
|
||||||
@@ -78,7 +174,7 @@ g15daemon (1.9.0-wip.20070910-3) unstable; urgency=low
|
|||||||
* first try to make a debian/rules full working for
|
* first try to make a debian/rules full working for
|
||||||
svn and released version
|
svn and released version
|
||||||
* fix directory fixes (closes: #442296)
|
* fix directory fixes (closes: #442296)
|
||||||
|
|
||||||
-- Giacomo Catenazzi <cate@debian.org> Fri, 14 Sep 2007 20:59:27 +0200
|
-- Giacomo Catenazzi <cate@debian.org> Fri, 14 Sep 2007 20:59:27 +0200
|
||||||
|
|
||||||
g15daemon (1.9.0-wip.20070910-2) unstable; urgency=low
|
g15daemon (1.9.0-wip.20070910-2) unstable; urgency=low
|
||||||
|
|||||||
Vendored
-1
@@ -1 +0,0 @@
|
|||||||
5
|
|
||||||
Vendored
+50
-23
@@ -1,35 +1,62 @@
|
|||||||
Source: g15daemon
|
Source: g15daemon
|
||||||
Section: utils
|
Section: utils
|
||||||
Priority: extra
|
Priority: optional
|
||||||
Maintainer: Giacomo Catenazzi <cate@debian.org>
|
Maintainer: Alexander Ponyatykh <lazyranma@gmail.com>
|
||||||
Build-Depends: cdbs, debhelper (>= 5), autotools-dev, automake1.9, libtool,
|
Uploaders:
|
||||||
libg15-dev, libg15render-dev (>=1.2.0.svn250-2), libusb-dev, libfreetype6-dev
|
Andrej Shadura <andrewsh@debian.org>
|
||||||
Standards-Version: 3.8.2
|
Build-Depends:
|
||||||
Homepage: http://www.g15tools.com/
|
debhelper-compat (= 12),
|
||||||
|
libfreetype6-dev,
|
||||||
|
libg15-dev (>= 1.2.7-3),
|
||||||
|
libg15render-dev (>= 1.2.0.svn250-2),
|
||||||
|
libtool
|
||||||
|
Standards-Version: 4.1.4
|
||||||
|
Homepage: https://sourceforge.net/projects/g15daemon/
|
||||||
|
Vcs-Browser: https://salsa.debian.org/debian/g15daemon
|
||||||
|
Vcs-Git: https://salsa.debian.org/debian/g15daemon.git
|
||||||
|
|
||||||
Package: g15daemon
|
Package: g15daemon
|
||||||
Section: utils
|
Section: utils
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: libg15daemon-client1 (=${binary:Version}), ${shlibs:Depends}, ${misc:Depends},
|
Pre-Depends:
|
||||||
Recommends: xkb-data ( >= 0.9+cvs.20070428-1)
|
${misc:Pre-Depends}
|
||||||
Description: Screen multiplexer for Logitech G15 Keyboard
|
Depends:
|
||||||
|
libg15-1 (>= 1.2.7-3),
|
||||||
|
lsb-base (>= 4.1+Debian3),
|
||||||
|
udev,
|
||||||
|
${misc:Depends},
|
||||||
|
${shlibs:Depends}
|
||||||
|
Recommends:
|
||||||
|
xkb-data (>=0.9+cvs.20070428-1)
|
||||||
|
Description: LCD multiplexer for Logitech G15 Keyboard
|
||||||
G15daemon provides multiple virtual screens for the LCD on the Logitech
|
G15daemon provides multiple virtual screens for the LCD on the Logitech
|
||||||
G11 and G15 keyboards.
|
G15 keyboard and Z10 speakers. It also allows the use of all additional
|
||||||
.
|
keys of G11 and G15 keyboards, even if the kernel does not support them.
|
||||||
This package contain the daemon and a generic client to talk to the
|
|
||||||
daemon.
|
|
||||||
|
|
||||||
Package: libg15daemon-client1
|
|
||||||
Section: libs
|
|
||||||
Architecture: any
|
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
|
||||||
Description: Development packages for libg15daemon-client
|
|
||||||
Includes the files needed for developing g15daemon clients
|
|
||||||
|
|
||||||
Package: libg15daemon-client-dev
|
Package: libg15daemon-client-dev
|
||||||
Section: libdevel
|
Section: libdevel
|
||||||
Architecture: any
|
Architecture: any
|
||||||
Depends: libg15daemon-client1 (= ${binary:Version}), ${misc:Depends}
|
Multi-Arch: same
|
||||||
Description: Development packages for libg15daemon-client
|
Depends:
|
||||||
Includes the files needed for developing g15daemon clients
|
libg15daemon-client1 (= ${binary:Version}),
|
||||||
|
${misc:Depends}
|
||||||
|
Description: Development files for libg15daemon-client
|
||||||
|
The g15daemon client library allows applications to use LCD of the Logitech G15
|
||||||
|
keyboard or Z10 speakers under control of g15daemon.
|
||||||
|
.
|
||||||
|
This package provides the development files and static libraries.
|
||||||
|
|
||||||
|
Package: libg15daemon-client1
|
||||||
|
Section: libs
|
||||||
|
Architecture: any
|
||||||
|
Multi-Arch: same
|
||||||
|
Pre-Depends:
|
||||||
|
${misc:Pre-Depends}
|
||||||
|
Depends:
|
||||||
|
${misc:Depends},
|
||||||
|
${shlibs:Depends}
|
||||||
|
Description: Client library for communicating with g15daemon
|
||||||
|
The g15daemon client library allows applications to use LCD of the Logitech G15
|
||||||
|
keyboard or Z10 speakers under control of g15daemon.
|
||||||
|
.
|
||||||
|
This package provides the runtime files.
|
||||||
Vendored
+4
-4
@@ -3,7 +3,7 @@ Mon, 27 Aug 2007 20:00:20 +0200.
|
|||||||
|
|
||||||
It was downloaded from http://g15daemon.sourceforge.net/
|
It was downloaded from http://g15daemon.sourceforge.net/
|
||||||
|
|
||||||
Upstream Authors:
|
Upstream Authors:
|
||||||
|
|
||||||
Mike Lampard <mlampard@users.sf.net>
|
Mike Lampard <mlampard@users.sf.net>
|
||||||
Sven Ludwig
|
Sven Ludwig
|
||||||
@@ -23,6 +23,6 @@ License:
|
|||||||
|
|
||||||
License can be found in the file `/usr/share/common-licenses/GPL-2'.
|
License can be found in the file `/usr/share/common-licenses/GPL-2'.
|
||||||
|
|
||||||
The Debian packaging is (C) 2007, Giacomo Catenazzi <cate@debian.org> and
|
The Debian packaging is (C) 2007, Giacomo Catenazzi <cate@debian.org>,
|
||||||
is licensed under the GPL v2 (or later), see `/usr/share/common-licenses/GPL-2'.
|
(C) 2019 Alexander Ponyatykh <lazyranma@gmail.com> and is licensed under
|
||||||
|
the GPL v2 (or later), see `/usr/share/common-licenses/GPL-2'.
|
||||||
Vendored
-3
@@ -1,3 +0,0 @@
|
|||||||
NEWS
|
|
||||||
README
|
|
||||||
TODO
|
|
||||||
Vendored
+3
-6
@@ -1,12 +1,9 @@
|
|||||||
# Defaults for g15daemon initscript
|
# Defaults for g15daemon initscript
|
||||||
|
|
||||||
# SWITCH_KEY selects the key used to switch between client screens
|
# SWITCH_KEY option was removed. Use DAEMON_OPTS="-s" instead.
|
||||||
#
|
|
||||||
# SWITCH_KEY="MR" to use the MR key (on top left)
|
|
||||||
# SWITCH_KEY="L1 to use the L1 key: the small round key below the LCD
|
|
||||||
|
|
||||||
|
# Turn on debugging of g15 init.d and udev scripts
|
||||||
SWITCH_KEY="L1"
|
#G15DEBUG="on"
|
||||||
|
|
||||||
# Additional options that are passed to the Daemon.
|
# Additional options that are passed to the Daemon.
|
||||||
DAEMON_OPTS=""
|
DAEMON_OPTS=""
|
||||||
Vendored
+77
-96
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
### BEGIN INIT INFO
|
### BEGIN INIT INFO
|
||||||
# Provides: g15daemon
|
# Provides: g15daemon
|
||||||
# Required-Start: $local_fs
|
# Required-Start: $syslog $local_fs $remote_fs
|
||||||
# Required-Stop: $local_fs
|
# Required-Stop: $syslog $local_fs $remote_fs
|
||||||
# Should-Start: $remote_fs
|
# Should-Start: $remote_fs
|
||||||
# Should-Stop: $remote_fs
|
# Should-Stop: $remote_fs
|
||||||
# X-Start-Before: xdm kdm gdm ldm sdm
|
# X-Start-Before: xdm kdm gdm ldm sdm
|
||||||
@@ -17,128 +17,109 @@
|
|||||||
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
|
||||||
DAEMON=/usr/sbin/g15daemon
|
DAEMON=/usr/sbin/g15daemon
|
||||||
NAME=g15daemon
|
NAME=g15daemon
|
||||||
DESC=g15daemon
|
DESC="Logitech G15 keyboard LCD multiplexer"
|
||||||
|
|
||||||
[ -x "$DAEMON" ] || exit 0
|
[ -x "$DAEMON" ] || exit 0
|
||||||
|
|
||||||
|
. /lib/lsb/init-functions
|
||||||
|
|
||||||
# Include g15daemon defaults if available
|
# Include g15daemon defaults if available
|
||||||
if [ -f /etc/default/g15daemon ] ; then
|
if [ -f /etc/default/g15daemon ] ; then
|
||||||
. /etc/default/g15daemon
|
. /etc/default/g15daemon
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$SWITCH_KEY" = "MR" ]; then
|
if [ "$G15DEBUG" = "on" ]; then
|
||||||
DAEMON_OPTS="-s $DAEMON_OPTS"
|
|
||||||
fi
|
|
||||||
|
|
||||||
set -e
|
log() {
|
||||||
|
logger -p daemon.debug -t g15 -- "$*"
|
||||||
|
}
|
||||||
|
else
|
||||||
|
|
||||||
|
log() {
|
||||||
wait_for_file() {
|
true
|
||||||
local file=$1
|
|
||||||
local timeout=$2
|
|
||||||
[ "$timeout" ] || timeout=120
|
|
||||||
|
|
||||||
local count=$(($timeout * 10))
|
|
||||||
while [ $count != 0 ]; do
|
|
||||||
[ -e "$file" ] && return 0
|
|
||||||
sleep 0.1
|
|
||||||
count=$(($count - 1))
|
|
||||||
done
|
|
||||||
return 1
|
|
||||||
}
|
}
|
||||||
|
|
||||||
load_uinput() {
|
fi
|
||||||
if [ ! -e /dev/input/uinput ] ; then
|
|
||||||
modprobe -q uinput || true
|
check_new_init() {
|
||||||
wait_for_file /dev/input/uinput 3 || return 1
|
if [ -d /run/systemd/system ] ; then
|
||||||
|
exit $1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
wait_usr_mount() {
|
load_uinput() {
|
||||||
if [ ! -e "$DAEMON" ] ; then
|
if [ ! -e /dev/uinput ] ; then
|
||||||
wait_for_file "$DAEMON" 7 || return 1
|
modprobe -q uinput
|
||||||
|
udevadm settle -t 5 -E /dev/uinput
|
||||||
|
[ -e /dev/uinput 3 ] || return 1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
is_running() {
|
is_running() {
|
||||||
start-stop-daemon --stop --test --quiet --pidfile \
|
start-stop-daemon --stop --test --quiet --pidfile \
|
||||||
/var/run/$NAME.pid --exec $DAEMON
|
/var/run/$NAME.pid --exec $DAEMON
|
||||||
}
|
}
|
||||||
|
|
||||||
do_start() {
|
do_start() {
|
||||||
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
|
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
|
||||||
--exec $DAEMON -- $DAEMON_OPTS
|
--exec $DAEMON -- $DAEMON_OPTS
|
||||||
}
|
}
|
||||||
|
|
||||||
do_stop() {
|
do_stop() {
|
||||||
$DAEMON -k
|
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
|
||||||
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
|
--oknodo --retry 5 --exec $DAEMON
|
||||||
--oknodo --retry 5 --exec $DAEMON
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
case "$1" in
|
case "$1" in
|
||||||
start)
|
start)
|
||||||
echo -n "Starting $DESC: "
|
log_daemon_msg "Starting $DESC" $NAME
|
||||||
load_uinput || echo -n ".../dev/input/uinput not found ..."
|
load_uinput || log_warning_msg "/dev/uinput not found"
|
||||||
do_start
|
do_start
|
||||||
echo "$NAME."
|
log_end_msg $?
|
||||||
;;
|
;;
|
||||||
stop)
|
stop)
|
||||||
echo -n "Stopping $DESC: "
|
log_daemon_msg "Stopping $DESC" $NAME
|
||||||
do_stop
|
if do_stop ; then
|
||||||
echo "$NAME."
|
log_end_msg 0
|
||||||
;;
|
else
|
||||||
#reload)
|
log_end_msg 1
|
||||||
#
|
exit 1
|
||||||
# If the daemon can reload its config files on the fly
|
fi
|
||||||
# for example by sending it SIGHUP, do it here.
|
;;
|
||||||
#
|
force-reload)
|
||||||
# If the daemon responds to changes in its config file
|
is_running && $0 restart || exit 0
|
||||||
# directly anyway, make this a do-nothing entry.
|
;;
|
||||||
#
|
restart)
|
||||||
# echo "Reloading $DESC configuration files."
|
log_daemon_msg "Restarting $DESC" $NAME
|
||||||
# start-stop-daemon --stop --signal 1 --quiet --pidfile \
|
if ! do_stop ; then
|
||||||
# /var/run/$NAME.pid --exec $DAEMON
|
log_end_msg 1
|
||||||
#;;
|
exit 1
|
||||||
force-reload)
|
fi
|
||||||
#
|
# the device is slow to shut-down
|
||||||
# If the "reload" option is implemented, move the "force-reload"
|
sleep 1
|
||||||
# option to the "reload" entry above. If not, "force-reload" is
|
load_uinput || log_warning_msg "/dev/uinput not found"
|
||||||
# just the same as "restart" except that it does nothing if the
|
do_start
|
||||||
# daemon isn't already running.
|
log_end_msg $?
|
||||||
# check wether $DAEMON is running. If so, restart
|
;;
|
||||||
is_running && $0 restart || exit 0
|
status)
|
||||||
|
is_running
|
||||||
|
exit $?
|
||||||
|
;;
|
||||||
|
udev)
|
||||||
|
check_new_init 0
|
||||||
|
log "calling g15 udev; action: $ACTION, product $PRODUCT"
|
||||||
|
if [ "x$ACTION" = "xadd" ] ; then
|
||||||
|
# If g15daemon is running, it will handle replugging.
|
||||||
|
is_running && exit 0
|
||||||
|
load_uinput
|
||||||
|
do_start
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
N=/etc/init.d/$NAME
|
||||||
|
log_action_msg "Usage: $N {start|stop|restart|force-reload|status}"
|
||||||
|
exit 1
|
||||||
;;
|
;;
|
||||||
restart)
|
|
||||||
echo -n "Restarting $DESC: "
|
|
||||||
do_stop
|
|
||||||
# the device is slow to shut-down
|
|
||||||
sleep 0.5
|
|
||||||
do_start
|
|
||||||
echo "$NAME."
|
|
||||||
;;
|
|
||||||
udev)
|
|
||||||
if [ "x$ACTION" = "xadd" ] ; then
|
|
||||||
load_uinput || true
|
|
||||||
wait_usr_mount || true
|
|
||||||
# it seems udev will not release a device if userspace is still
|
|
||||||
# connected
|
|
||||||
is_running && ( do_stop; sleep 0.5 )
|
|
||||||
do_start
|
|
||||||
elif [ "x$ACTION" = "xremove" ] ; then
|
|
||||||
do_stop
|
|
||||||
else
|
|
||||||
echo "unknow udev action '$ACTION'"
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
N=/etc/init.d/$NAME
|
|
||||||
echo "Usage: $N {start|stop|restart|force-reload|udev}" >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
Vendored
+3
-4
@@ -1,4 +1,3 @@
|
|||||||
debian/tmp/usr/sbin/g15daemon usr/sbin
|
debian/tmp/usr/lib/*/g15daemon/*/plugins/*.so
|
||||||
debian/tmp/usr/lib/g15daemon/1.9.5.3/plugins/*.so usr/lib/g15daemon/1.9.5.3/plugins/
|
debian/tmp/usr/sbin/g15daemon
|
||||||
debian/tmp/usr/share/g15daemon/splash/g15logo2.wbmp usr/share/g15daemon/splash/
|
debian/tmp/usr/share/g15daemon/splash/g15logo2.wbmp
|
||||||
|
|
||||||
Vendored
+12
@@ -0,0 +1,12 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Logitech G15 keyboard LCD multiplexer
|
||||||
|
Documentation=man:g15daemon(1)
|
||||||
|
Wants=remote-fs.target
|
||||||
|
After=remote-fs.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=forking
|
||||||
|
EnvironmentFile=-/etc/default/g15daemon
|
||||||
|
ExecStartPre=-/sbin/modprobe -q uinput
|
||||||
|
ExecStartPre=-/sbin/udevadm settle -t 5 -E /dev/uinput
|
||||||
|
ExecStart=/usr/sbin/g15daemon $DAEMON_OPTS
|
||||||
Vendored
+5
-7
@@ -4,18 +4,16 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Logitech g11 -- extra keys, no LCD
|
# Logitech g11 -- extra keys, no LCD
|
||||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c225", RUN+="/etc/init.d/g15daemon udev"
|
SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="c225", RUN+="/etc/init.d/g15daemon udev", TAG+="systemd",ENV{SYSTEMD_WANTS}+="g15daemon.service"
|
||||||
|
|
||||||
# Logitech G15 (blue) -- extra keys and LCD
|
# Logitech G15 (blue) -- extra keys and LCD
|
||||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c222", RUN+="/etc/init.d/g15daemon udev"
|
SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="c222", RUN+="/etc/init.d/g15daemon udev", TAG+="systemd", ENV{SYSTEMD_WANTS}+="g15daemon.service"
|
||||||
|
|
||||||
# Logitech G15 v2 (orange) -- extra keys and LCD
|
# Logitech G15 v2 (orange) -- extra keys and LCD
|
||||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c227", RUN+="/etc/init.d/g15daemon udev"
|
SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="c227", RUN+="/etc/init.d/g15daemon udev", TAG+="systemd", ENV{SYSTEMD_WANTS}+="g15daemon.service"
|
||||||
|
|
||||||
# Logitech Z10 -- extra keys and LCD
|
# Logitech Z10 -- extra keys and LCD
|
||||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="0a07", RUN+="/etc/init.d/g15daemon udev"
|
SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="0a07", RUN+="/etc/init.d/g15daemon udev", TAG+="systemd", ENV{SYSTEMD_WANTS}+="g15daemon.service"
|
||||||
|
|
||||||
# Logitech G15 Gamepanel -- extra keys and LCD
|
# Logitech G15 Gamepanel -- extra keys and LCD
|
||||||
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c251", RUN+="/etc/init.d/g15daemon udev"
|
SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="c251", RUN+="/etc/init.d/g15daemon udev", TAG+="systemd", ENV{SYSTEMD_WANTS}+="g15daemon.service"
|
||||||
|
|
||||||
|
|
||||||
+3
-5
@@ -1,5 +1,3 @@
|
|||||||
debian/tmp/usr/include/* usr/include/
|
debian/tmp/usr/include/*
|
||||||
debian/tmp/usr/lib/lib*.a usr/lib/
|
debian/tmp/usr/lib/*/lib*.a
|
||||||
debian/tmp/usr/lib/lib*.so usr/lib/
|
debian/tmp/usr/lib/*/lib*.so
|
||||||
debian/tmp/usr/lib/*.la usr/lib/
|
|
||||||
|
|
||||||
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
usr/lib/lib*.so.*
|
usr/lib/*/lib*.so.*
|
||||||
Vendored
+1
-1
@@ -1 +1 @@
|
|||||||
debian/tmp/usr/lib/lib*.so.* usr/lib/
|
debian/tmp/usr/lib/*/lib*.so.*
|
||||||
+127
@@ -0,0 +1,127 @@
|
|||||||
|
--- a/Documentation/g15daemon.1
|
||||||
|
+++ b/Documentation/g15daemon.1
|
||||||
|
@@ -37,113 +37,6 @@
|
||||||
|
If all required libraries are installed and in locations known to your operating system, the daemon will slip quietly into the background and a clock will appear on the LCD.
|
||||||
|
Congratulations! The linux kernel will now output keycodes for all your extra keys.
|
||||||
|
|
||||||
|
-.SH "Using the keys in X11"
|
||||||
|
-Current versions of the Xorg Xserver dont have support for the extra keys that g15daemon provides. This support will be available in the next release of Xorg (7.2).
|
||||||
|
-
|
||||||
|
-For now, if you want access to the extra keys for hotkey support in X11, you need to run the xmodmaprc script on each start of X. This script is available in the contrib folder (if g15daemon is installed in the default location, the contrib folder is in /usr/share/doc/g15daemon\-${VERSION}/contrib
|
||||||
|
-
|
||||||
|
-Depending on your linux distribution, copying the xmodmaprc file (or pasting the text below) into ~/.Xmodmap may be all that's required.
|
||||||
|
-
|
||||||
|
-.SH "Xmodmaprc file"
|
||||||
|
-Copy the following into ~/.Xmodmap (depending on your distribution) for X11 to recognise all extra G15 keys:
|
||||||
|
-
|
||||||
|
-\-\- cut here \-\-
|
||||||
|
-.br
|
||||||
|
-keycode 93 = XF86Launch1
|
||||||
|
-.br
|
||||||
|
-keycode 129 = XF86Launch8
|
||||||
|
-.br
|
||||||
|
-keycode 130 = XF86Launch9
|
||||||
|
-.br
|
||||||
|
-keycode 131 = XF86Launch2
|
||||||
|
-.br
|
||||||
|
-keycode 132 = XF86Phone
|
||||||
|
-.br
|
||||||
|
-keycode 133 = XF86Messenger
|
||||||
|
-.br
|
||||||
|
-keycode 136 = XF86LaunchD
|
||||||
|
-.br
|
||||||
|
-keycode 137 = XF86Support
|
||||||
|
-.br
|
||||||
|
-keycode 138 = XF86Word
|
||||||
|
-.br
|
||||||
|
-keycode 143 = XF86LaunchF
|
||||||
|
-.br
|
||||||
|
-keycode 144 = XF86AudioPrev
|
||||||
|
-.br
|
||||||
|
-keycode 150 = XF86LogOff
|
||||||
|
-.br
|
||||||
|
-keycode 152 = XF86Launch5
|
||||||
|
-.br
|
||||||
|
-keycode 153 = XF86AudioNext
|
||||||
|
-.br
|
||||||
|
-keycode 160 = XF86AudioMute
|
||||||
|
-.br
|
||||||
|
-keycode 161 = XF86Travel
|
||||||
|
-.br
|
||||||
|
-keycode 162 = XF86AudioPlay
|
||||||
|
-.br
|
||||||
|
-keycode 163 = XF86Spell
|
||||||
|
-.br
|
||||||
|
-keycode 164 = XF86AudioStop
|
||||||
|
-.br
|
||||||
|
-keycode 170 = XF86VendorHome
|
||||||
|
-.br
|
||||||
|
-keycode 174 = XF86AudioLowerVolume
|
||||||
|
-.br
|
||||||
|
-keycode 176 = XF86AudioRaiseVolume
|
||||||
|
-.br
|
||||||
|
-keycode 177 = XF86Launch4
|
||||||
|
-.br
|
||||||
|
-keycode 178 = XF86HomePage
|
||||||
|
-.br
|
||||||
|
-keycode 182 = XF86Away
|
||||||
|
-.br
|
||||||
|
-keycode 183 = XF86WebCam
|
||||||
|
-.br
|
||||||
|
-keycode 184 = XF86Launch0
|
||||||
|
-.br
|
||||||
|
-keycode 188 = XF86Music
|
||||||
|
-.br
|
||||||
|
-keycode 190 = XF86Launch6
|
||||||
|
-.br
|
||||||
|
-keycode 194 = XF86Forward
|
||||||
|
-.br
|
||||||
|
-keycode 195 = XF86Send
|
||||||
|
-.br
|
||||||
|
-keycode 205 = XF86Calendar
|
||||||
|
-.br
|
||||||
|
-keycode 208 = XF86Launch7
|
||||||
|
-.br
|
||||||
|
-keycode 209 = XF86LaunchB
|
||||||
|
-.br
|
||||||
|
-keycode 210 = XF86LaunchC
|
||||||
|
-.br
|
||||||
|
-keycode 215 = XF86Save
|
||||||
|
-.br
|
||||||
|
-keycode 219 = XF86WWW
|
||||||
|
-.br
|
||||||
|
-keycode 220 = XF86LaunchE
|
||||||
|
-.br
|
||||||
|
-keycode 223 = XF86Sleep
|
||||||
|
-.br
|
||||||
|
-keycode 228 = XF86Pictures
|
||||||
|
-.br
|
||||||
|
-keycode 231 = XF86LaunchA
|
||||||
|
-.br
|
||||||
|
-keycode 236 = XF86Mail
|
||||||
|
-.br
|
||||||
|
-keycode 237 = XF86AudioMedia
|
||||||
|
-.br
|
||||||
|
-keycode 246 = XF86iTouch
|
||||||
|
-.br
|
||||||
|
-keycode 247 = XF86Launch3
|
||||||
|
-.br
|
||||||
|
-keycode 249 = XF86ToDoList
|
||||||
|
-.br
|
||||||
|
-keycode 251 = XF86Calculater
|
||||||
|
-.br
|
||||||
|
-\-\- end cutting \-\-
|
||||||
|
.SH "AUTHORS"
|
||||||
|
The latest release of g15daemon is available at
|
||||||
|
.P
|
||||||
|
--- a/Documentation/g15daemon_client_devel.3
|
||||||
|
+++ b/Documentation/g15daemon_client_devel.3
|
||||||
|
@@ -55,7 +55,7 @@
|
||||||
|
int retval = 0;
|
||||||
|
int screen_fd = new_g15_screen( G15_WBMPBUF );
|
||||||
|
|
||||||
|
-... do processing and display here ...
|
||||||
|
+ ... do processing and display here ...
|
||||||
|
|
||||||
|
retval = g15_close_screen( screen_fd );
|
||||||
|
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
--- a/g15daemon/utility_funcs.c
|
||||||
|
+++ b/g15daemon/utility_funcs.c
|
||||||
|
@@ -666,12 +666,24 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
int uf_screendump_pbm(unsigned char *buffer,char *filename) {
|
||||||
|
+ int fd;
|
||||||
|
FILE *f;
|
||||||
|
int x,y;
|
||||||
|
#define WIDTH 40
|
||||||
|
g15canvas *canvas=g15daemon_xmalloc(sizeof(g15canvas));
|
||||||
|
memcpy(canvas->buffer,buffer,LCD_BUFSIZE);
|
||||||
|
- f = fopen(filename,"w+");
|
||||||
|
+ fd = open(filename, O_CREAT|O_EXCL|O_WRONLY, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH);
|
||||||
|
+ if(fd == -1) {
|
||||||
|
+ g15daemon_log(LOG_WARNING, "uf_screendump_pbm failed: open, %s.\n", strerror(errno));
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+ f = fdopen(fd,"w");
|
||||||
|
+ if(f==NULL) {
|
||||||
|
+ close(fd);
|
||||||
|
+ g15daemon_log(LOG_WARNING, "uf_screendump_pbm failed: fdopen, %s.\n", strerror(errno));
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
fprintf(f,"P1\n160 43\n");
|
||||||
|
fprintf(f,"# G15 screendump - %s\n\n",filename);
|
||||||
|
for(y=0;y<43;y++)
|
||||||
|
@@ -681,7 +693,9 @@
|
||||||
|
fprintf(f,"\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
- fclose(f);
|
||||||
|
+ fclose(f);
|
||||||
|
+ fsync(fd);
|
||||||
|
+ close(fd);
|
||||||
|
free(canvas);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
--- a/g15daemon/main.c
|
||||||
|
+++ b/g15daemon/main.c
|
||||||
|
@@ -456,7 +456,7 @@
|
||||||
|
struct passwd *nobody;
|
||||||
|
unsigned char location[1024];
|
||||||
|
|
||||||
|
- openlog("g15daemon", LOG_PID, LOG_USER);
|
||||||
|
+ openlog("g15daemon", LOG_PID, LOG_DAEMON);
|
||||||
|
if(strlen((char*)user)==0){
|
||||||
|
nobody = getpwnam("nobody");
|
||||||
|
}else {
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
--- a/g15daemon/utility_funcs.c
|
||||||
|
+++ b/g15daemon/utility_funcs.c
|
||||||
|
@@ -356,7 +356,7 @@
|
||||||
|
config_items_t * item=NULL;
|
||||||
|
char line[1024];
|
||||||
|
|
||||||
|
- config_fd = open(filename,O_CREAT|O_RDWR|O_TRUNC);
|
||||||
|
+ config_fd = open(filename,O_CREAT|O_RDWR|O_TRUNC, 0644);
|
||||||
|
if(config_fd){
|
||||||
|
snprintf(line,1024,"# G15Daemon Configuration File\n# any items entered before a [section] header\n# will be in the Global config space\n# comments you wish to keep should start with a semicolon';'\n");
|
||||||
|
write(config_fd,line,strlen(line));
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
--- a/plugins/g15_plugin_uinput.c
|
||||||
|
+++ b/plugins/g15_plugin_uinput.c
|
||||||
|
@@ -125,6 +125,13 @@
|
||||||
|
event.value = G15KEY_DOWN;
|
||||||
|
|
||||||
|
write (uinp_fd, &event, sizeof(event));
|
||||||
|
+
|
||||||
|
+ memset(&event, 0, sizeof(event));
|
||||||
|
+
|
||||||
|
+ event.type = EV_SYN;
|
||||||
|
+ event.code = SYN_REPORT;
|
||||||
|
+
|
||||||
|
+ write (uinp_fd, &event, sizeof(event));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void g15_uinput_keyup(unsigned char code)
|
||||||
|
@@ -137,6 +144,13 @@
|
||||||
|
event.value = G15KEY_UP;
|
||||||
|
|
||||||
|
write (uinp_fd, &event, sizeof(event));
|
||||||
|
+
|
||||||
|
+ memset(&event, 0, sizeof(event));
|
||||||
|
+
|
||||||
|
+ event.type = EV_SYN;
|
||||||
|
+ event.code = SYN_REPORT;
|
||||||
|
+
|
||||||
|
+ write (uinp_fd, &event, sizeof(event));
|
||||||
|
}
|
||||||
|
|
||||||
|
void (*keyup)(unsigned char code) = &g15_uinput_keyup;
|
||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
--- a/libg15daemon_client/g15daemon_net.c
|
||||||
|
+++ b/libg15daemon_client/g15daemon_net.c
|
||||||
|
@@ -217,7 +217,7 @@
|
||||||
|
if(poll(pfd,1,100)>0){
|
||||||
|
if(pfd[0].revents & POLLPRI && !(pfd[0].revents & POLLERR || pfd[0].revents & POLLHUP || pfd[0].revents & POLLNVAL)) {
|
||||||
|
memset(packet,0,sizeof(packet));
|
||||||
|
- msgret = recv(sock, packet, 10 , MSG_OOB);
|
||||||
|
+ msgret = recv(sock, packet, sizeof(packet) , MSG_OOB);
|
||||||
|
if (msgret < 1) {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
+22
@@ -0,0 +1,22 @@
|
|||||||
|
Description: Reinitialize on any libusb error.
|
||||||
|
This allows g15daemon to correctly recover after suspend/resume.
|
||||||
|
Author: Alexander Ponyatykh <lazyranma@gmail.com>
|
||||||
|
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/libusb/+bug/1357556
|
||||||
|
Forwarded: no
|
||||||
|
Last-Update: 2015-05-18
|
||||||
|
===================================================================
|
||||||
|
--- a/g15daemon/main.c
|
||||||
|
+++ b/g15daemon/main.c
|
||||||
|
@@ -204,10 +204,10 @@
|
||||||
|
G15_EVENT_KEYPRESS, keypresses);
|
||||||
|
lastkeys = keypresses;
|
||||||
|
|
||||||
|
- }else if(retval == -ENODEV && LIBG15_VERSION>=1200) {
|
||||||
|
+ }else if(retval < 0 && LIBG15_VERSION>=1200) {
|
||||||
|
pthread_mutex_lock(&g15lib_mutex);
|
||||||
|
while((retval=re_initLibG15() != G15_NO_ERROR) && !leaving){
|
||||||
|
- g15daemon_log(LOG_WARNING,"Keyboard has gone.. Retrying\n");
|
||||||
|
+ g15daemon_log(LOG_WARNING,"Keyboard error (%d).. Reinitializing\n", retval);
|
||||||
|
sleep(1);
|
||||||
|
}
|
||||||
|
if(!leaving) {
|
||||||
Vendored
+7
@@ -0,0 +1,7 @@
|
|||||||
|
01-remove-x11-setup-from-man.diff
|
||||||
|
02-better-screenshort-creation.diff
|
||||||
|
03-change-syslog-facility.diff
|
||||||
|
04-open-needs-mode.diff
|
||||||
|
05-send-a-sync-event-after-key-up-down.diff
|
||||||
|
06-fix-buffer-overflow.diff
|
||||||
|
07-reinit-on-any-error.diff
|
||||||
+14
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
#DEBHELPER#
|
||||||
|
|
||||||
|
#g15daemon.service is normally pulled by udev events at boot time or after
|
||||||
|
#plugging in a device, and deb-systemd-invoke refuses to start a static service,
|
||||||
|
#so force it to start using invoke-rc.d
|
||||||
|
|
||||||
|
if [ -d /run/systemd/system ] && [ -z "$2" ] && ( [ "$1" = "configure" ] \
|
||||||
|
|| [ "$1" = "abort-remove" ] ) ; then
|
||||||
|
invoke-rc.d g15daemon start >/dev/null || true
|
||||||
|
fi
|
||||||
|
|
||||||
Vendored
+5
-24
@@ -1,28 +1,9 @@
|
|||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
# for SVN versions
|
DH_VERBOSE = 1
|
||||||
AUTOMAKE_REMOVE := Makefile Makefile.in */Makefile */Makefile.in configure aclocal.m4
|
|
||||||
AUTOMAKE_REMOVE += *.lo *.o *.la */*.lo */*.o */*.la
|
|
||||||
AUTOMAKE_REMOVE += g15daemon/g15daemon g15daemon/g15daemontest
|
|
||||||
AUTOMAKE_REMOVE += config.status config.log config.h config.h.in config/* libtool stamp-h1
|
|
||||||
AUTOMAKE_REMOVE += */.libs/
|
|
||||||
|
|
||||||
#clean::
|
%:
|
||||||
# -rm -Rf $(AUTOMAKE_REMOVE)
|
dh $@
|
||||||
|
|
||||||
#makebuilddir:: Makefile
|
|
||||||
|
|
||||||
|
|
||||||
#Makefile:: Makefile.am autogen.sh
|
|
||||||
# [ -d config ] || mkdir config
|
|
||||||
# aclocal -I config
|
|
||||||
# libtoolize --automake --force --copy
|
|
||||||
# autoheader
|
|
||||||
# automake --add-missing --copy
|
|
||||||
# autoconf
|
|
||||||
|
|
||||||
include /usr/share/cdbs/1/rules/debhelper.mk
|
|
||||||
include /usr/share/cdbs/1/class/autotools.mk
|
|
||||||
|
|
||||||
DEB_CONFIGURE_EXTRA_FLAGS = --quiet
|
|
||||||
|
|
||||||
|
override_dh_installsystemd:
|
||||||
|
dh_installsystemd --no-start
|
||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
3.0 (quilt)
|
||||||
Vendored
+1
-1
@@ -3,5 +3,5 @@
|
|||||||
# Compulsory line, this is a version 3 file
|
# Compulsory line, this is a version 3 file
|
||||||
version=3
|
version=3
|
||||||
|
|
||||||
http://sf.net/g15daemon/g15daemon-([1-9].*)\.tar\.gz
|
https://sf.net/g15daemon/g15daemon-([1-9].*)\.tar\.gz
|
||||||
|
|
||||||
Reference in new issue
Block a user