Compare commits

..
30 changed files with 242 additions and 835 deletions

No files matched your search

-8
View File
@@ -1,8 +0,0 @@
g15daemon (1.9.5.3-3) unstable; urgency=low
* The default key to switch application is changes:
now we use L1 (round small key near the display, instead of MR key.
This will allow other application to use MR (i.e. g15macro).
-- Giacomo Catenazzi <cate@debian.org> Mon, 28 Apr 2008 08:36:27 +0200
+2 -31
View File
@@ -1,35 +1,6 @@
g15daemon for Debian
--------------------
<possible notes regarding this package - if none, delete this file>
Debian 'xkeyboard-config' package already have support for g15
keyboards, so you don't need to exec 'xmodmap' as described on
original documentations. Anyway you should configure your
xorg.conf file, so that xorg will understand the extra keys.
To have the full support of the extra keys, you should edit the
xorg configuration file /etc/X11/xorg.conf . The 'XkbModel' should
be "logitech_g15".
I.e. on my machine:
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "logitech_g15"
Option "XkbLayout" "us"
EndSection
Also in KDE and gnome you should set the g15daemon keyboard.
In KDE you find the configuration in:
Control Center
Regional & Accessibility
Keyboard Layout
On the right at the top "Keyboard model" select:
"Logitech G15 extra keys via G15daemon"
-- Giacomo Catenazzi <cate@debian.org> Mon, 30 Aug 2007 08:04:22 +0200
-- Anthony J. Mirabella <mirabeaj@gmail.com>, Thu, 28 Sep 2006 04:46:06 -0400
+104 -215
View File
@@ -1,219 +1,108 @@
g15daemon (1.9.5.3-11) unstable; urgency=medium
* Reinitialize on eny error code, not only on a negative one.
* Remove unused variables. (Closes: bug#688465)
* Compliant to policy 4.4.1
-- Alexander Ponyatykh <lazyranma@gmail.com> Tue, 19 Nov 2019 00:50:44 +0300
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
* Handle keyboard device with udev, so detecting detachement
and attachment of keyboarda (Closes: #489978).
* init.d LSB header: try to start before xorg, to be able
to have full access to all extra keys.
* Recent libg15 corrected strange behaviour in new G15 keyboard
(Closes: #494180)
-- Giacomo Catenazzi <cate@debian.org> Thu, 13 Aug 2009 08:20:02 +0200
g15daemon (1.9.5.3-4) unstable; urgency=low
* Try to load uinput module, in order to have Gx key working
(Closes: #475000).
* Usual updates
-- Giacomo Catenazzi <cate@debian.org> Thu, 06 Aug 2009 08:32:33 +0200
g15daemon (1.9.5.3-3) unstable; urgency=low
* Changing default in /etc/default/g15daemon: Use L1 key instead of MR
as actual upstream default and allowing to use g15macro
(Closes: #478069)
* Removed the X11 setup on man page, because it is not relevant
to recent distributions and could confuse our users (Closes: #463078)
-- Giacomo Catenazzi <cate@debian.org> Mon, 28 Apr 2008 08:47:07 +0200
g15daemon (1.9.5.3-2) unstable; urgency=low
* Recommend xkb-data instead of keyboard-config. Adapted patch from
Amaya, thanks! (Closes: #474451).
-- Giacomo Catenazzi <cate@debian.org> Mon, 07 Apr 2008 19:56:34 +0200
g15daemon (1.9.5.3-1) unstable; urgency=low
* New upstream version
-- Giacomo Catenazzi <cate@debian.org> Thu, 14 Feb 2008 08:08:03 +0100
g15daemon (1.9.5.2-2) unstable; urgency=low
* Handle better errors in the init.d script (Closes: #463073)
-- Giacomo Catenazzi <cate@debian.org> Tue, 29 Jan 2008 20:15:35 +0100
g15daemon (1.9.5.2-1) unstable; urgency=low
* New upstream version
* Change default behaviour: to switch client use MR (as already documented
in /etc/default/g15daemon, but wrongly implemented)
-- Giacomo Catenazzi <cate@debian.org> Mon, 28 Jan 2008 09:12:16 +0100
g15daemon (1.9.1.0.svn346-1) unstable; urgency=low
* New upstream version (from svn)
-- Giacomo Catenazzi <cate@debian.org> Tue, 18 Dec 2007 09:15:42 +0100
g15daemon (1.9.0-wip.20070910-5) unstable; urgency=low
* change priority to "extra"
* force libg15render-dev versioned dependencies
-- Giacomo Catenazzi <cate@debian.org> Tue, 09 Oct 2007 13:28:56 +0200
g15daemon (1.9.0-wip.20070910-4) unstable; urgency=low
* Correct building errors (closes: #441919, #442995)
-- Giacomo Catenazzi <cate@debian.org> Tue, 18 Sep 2007 20:29:54 +0200
g15daemon (1.9.0-wip.20070910-3) unstable; urgency=low
* first try to make a debian/rules full working for
svn and released version
* fix directory fixes (closes: #442296)
-- Giacomo Catenazzi <cate@debian.org> Fri, 14 Sep 2007 20:59:27 +0200
g15daemon (1.9.0-wip.20070910-2) unstable; urgency=low
* pause() instead of busy loop.
-- Giacomo Catenazzi <cate@debian.org> Tue, 11 Sep 2007 06:12:01 +0200
g15daemon (1.9.0-wip.20070910-1) unstable; urgency=low
* New upstream release (from svn)
* Don't install plugin in /usr/share (Closes: #441619)
-- Giacomo Catenazzi <cate@debian.org> Mon, 10 Sep 2007 23:02:14 +0200
g15daemon (1.9.0-2) unstable; urgency=low
* Updates: better init.d scripts (with support for L1 key)
* install also the sample plugin (clock, net, uinput)
-- Giacomo Catenazzi <cate@debian.org> Thu, 30 Aug 2007 23:31:18 +0200
g15daemon (1.9.0-1) unstable; urgency=low
* New upstream release
-- Giacomo Catenazzi <cate@debian.org> Tue, 28 Aug 2007 20:09:54 +0200
g15daemon (1.2.7-1) unstable; urgency=low
g15daemon 1.9.5.3 edgy; urgency=low
* BugFix: plugins/g15daemon_net.c: ensure that OOB traffic is not mixed with
normal image buffers.
* Feature: Add --set-backlight to allow clients (and the backlight button)
to set the backlight level for the currently shown screen only.
Default is now to disallow clients changing backlight, and to set
backlight globally via the button.
-- Mike Lampard <mlampard@users.sourceforge.net> Thu, 31 Jan 2008 15:47:06 +1030
g15daemon 1.9.5.2 edgy; urgency=high
* BugFix: IS_USER_SELECTED client command was broken. fix it.
* BugFix: restore client ability to change backlight state.
-- Mike Lampard <mlampard@users.sourceforge.net> Sat, 26 Jan 2008 11:36:04 +1030
g15daemon 1.9.5.1 edgy; urgency=high
* BugFix: If lcd refresh is requested whilst processing, refreshes were missed.
* Optimisation: The delay between screen updates is no longer required. remove.
g15daemon 1.9.5 edgy; urgency=low
* Add example udev helper scripts to contrib directory.
* API: Add NEVER_SELECT cmd to client API to enforce non-display on
client-switch. Used by G15Macro if available.
* Debug: Add segfault handler to libg15daemon_client to aid debugging
clients.
* Feature: Add screendump ability. Pressing M1+M3 simultaneously will write
a pbm format image of the currently displayed screen to
/tmp/g15daemon-sc-?.pbm, where ? is an incremental number.
* BugFix: Only wakeup display thread if LCD buffer is visible.
* Packaging: Fix debian packaging to include plugins.
g15daemon 1.9.4 edgy; urgency=low
* Debug: Log warning if keyboard disappears.
* Bugfix: Fix autoconf autodetect bugs re uinput plugin.
* Feature: If autodetection of uinput fails, configure now has a
--disable-uinput override.
* Feature: WIP should now compile and run on Linux, MacOSX, and Solaris (v10+).
Only Linux and Solaris have been tested.
* Debug: Add more debugging to plugin loader.
* Debug: Log build date,OS and GCC version.
* Feature: Plugin loader will now use DEEP_BIND if available, hopefully
resolving conflicts on OS's that support it.
* Feature: Solaris support. Requires some end-user changes to the usb
stack at the moment. Documentation coming soon.
* BugFix: Plugin loader is now much more robust.
* Feature: Add OS specific documentation for Linux and FreeBSD.
Compilation and use on FreeBSD is completely untested.
* Feature: Debug verbosity of g15daemon_log is now variable.
* Feature: Plugin filenames are now cached in g15daemon.conf to allow
(manual, at this stage) changing of load-order.
* Portability: Add our own daemon() function if platform doesn't have native
support.
* TidyUp: Wrap keyboard read function.
* TidyUp: Make all plugin-internal functions static.
* Portability: Remove mutexes on Solaris, as libusb (and therefore libg15)
blocks on read.
* Optimisation: Use pthread conditional variable to signal LCD state change.
Further reduces unnecessary wakeups.
g15daemon 1.9.3 edgy; urgency=low
* BugFix: The documentation for --switch was inverted. Fix.
* Debug: Print list of commandline args when in debug mode
* BugFix: The decreased delay caused keypresses to be misread on some
machines. REVERT.
g15daemon 1.9.2 edgy; urgency=low
* BugFix: Add exitfunc to net plugin for exit notification.
* BugFix: Use pause() instead of sleeping
* BugFix: create leaving var as volatile.
* BugFix: Add NAME section to g15daemon_client manpages
* Tweak delay between successive keyboard reads. This reduces cpu load by
50% on my system.
* Bugfix: Ensure that all plugin exit functions are called on leaving.
* Bugfix: if keypress event is received (very early in the startup process,
the daemon would crash. Check that expected pointers are valid.
* Bugfix: Dont attempt compilation of uinput plugin if headers are
unavailable.
* Bugfix: Write a blank buffer to the LCD before exiting.
* Feature: Add --lcdlevel cmdline option to allow setting default LCD brightness level
g15daemon 1.9.1 edgy; urgency=low
* BugFix: Plugins are now installed in ${PREFIX}/{${LIBDIR}/g15daemon/${VERSION}/plugins
* Feature: OS-X support thanks to Fabrizio Sestito.
* Bugfix: libg15daemon_client: keypresses were being corrupted.
* Bugfix: libg15daemon_client: use g15_recv rather than recv.
* Bugfix: use default scheduling for all threads.
* Optimisation: minor optimisation of lcd_cycle() code.
* Security: repair some potential security holes.
* Bugfix: Backlight status was being mis-applied when cycling screens.
* Bugfix: Language bindings were not being distributed.
g15daemon 1.9.0 edgy; urgency=low
* Feature: Add plugin API
* Feature: partially rewritten event core
* Feature: updated g15daemon_xmms_spectrum plugin with new features, available in trunk/g15daemon_audio_plugins (SVN)
* Feature: Clock is now a plugin
* Feature: dependency on libdaemon is now removed
* Feature: g15daemon is now dependant on libg15render.
* Feature: Clock now includes analog clock thanks to Rasta Freak <igor.jusic@zg.t-com.hr>
* Moved g15daemon_xmms_spectrum plugin to separate package
g15daemon (1.2.1-1) breezy; urgency=low
* Initial release
-- Giacomo Catenazzi <cate@debian.org> Mon, 27 Aug 2007 20:00:20 +0200
-- Anthony J. Mirabella <mirabeaj@gmail.com> Thu, 28 Sep 2006 04:46:06 -0400
+1
View File
@@ -0,0 +1 @@
4
+17 -51
View File
@@ -1,62 +1,28 @@
Source: g15daemon
Section: utils
Priority: optional
Maintainer: Alexander Ponyatykh <lazyranma@gmail.com>
Uploaders:
Andrej Shadura <andrewsh@debian.org>
Build-Depends:
debhelper-compat (= 12),
libfreetype6-dev,
libg15-dev (>= 1.2.7-3),
libg15render-dev (>= 1.2.0.svn250-2),
libtool
Standards-Version: 4.4.1
Homepage: https://sourceforge.net/projects/g15daemon/
Vcs-Browser: https://salsa.debian.org/debian/g15daemon
Vcs-Git: https://salsa.debian.org/debian/g15daemon.git
Maintainer: Anthony J. Mirabella <mirabeaj@gmail.com>
Build-Depends: debhelper (>= 4.0.0), autotools-dev, libg15-dev, libg15render-dev
Standards-Version: 3.6.2
Package: g15daemon
Section: utils
Architecture: any
Pre-Depends:
${misc:Pre-Depends}
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
Depends: ${shlibs:Depends}, ${misc:Depends}, libg15daemon-client (= ${Source-Version})
Description: Screen multiplexer for Logitech G15 Keyboard
G15daemon provides multiple virtual screens for the LCD on the Logitech
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.
G15 Keyboard
Package: libg15daemon-client
Section: libs
Architecture: any
Depends: ${shlibs:Depends}
Description: Client library for communicating with g15daemon
Provides interface functions for clients that wish to communicate with
a running instance of g15daemon
Package: libg15daemon-client-dev
Section: libdevel
Architecture: any
Multi-Arch: same
Depends:
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.
Depends: libg15daemon-client (= ${Source-Version})
Description: Development packages for libg15daemon-client
Includes the files needed for developing g15daemon clients
+5 -23
View File
@@ -1,28 +1,10 @@
This package was debianized by Giacomo A. Catenazzi <cate@debian.org> on
Mon, 27 Aug 2007 20:00:20 +0200.
This package was debianized by Anthony J. Mirabella <mirabeaj@gmail.com> on
Thu, 28 Sep 2006 04:46:06 -0400.
It was downloaded from http://g15daemon.sourceforge.net/
It was downloaded from <fill in ftp site>
Upstream Authors:
Mike Lampard <mlampard@users.sf.net>
Sven Ludwig
James Green
Philip Lawatsch <philip@lawatsch.at>
Copyright:
Copyright (c) 2006 Mike Lampard, Philip Lawatsch, and others
Copyright Holder: <put author(s) name and email here>
License:
g15tools is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
License can be found in the file `/usr/share/common-licenses/GPL-2'.
The Debian packaging is (C) 2007, Giacomo Catenazzi <cate@debian.org>,
(C) 2019 Alexander Ponyatykh <lazyranma@gmail.com> and is licensed under
the GPL v2 (or later), see `/usr/share/common-licenses/GPL-2'.
<Put the license of the package here>
-1
View File
@@ -1,4 +1,3 @@
FAQ
NEWS
README
TODO
-9
View File
@@ -1,9 +0,0 @@
# Defaults for g15daemon initscript
# SWITCH_KEY option was removed. Use DAEMON_OPTS="-s" instead.
# Turn on debugging of g15 init.d and udev scripts
#G15DEBUG="on"
# Additional options that are passed to the Daemon.
DAEMON_OPTS=""
-125
View File
@@ -1,125 +0,0 @@
#! /bin/sh
### BEGIN INIT INFO
# Provides: g15daemon
# Required-Start: $syslog $local_fs $remote_fs
# Required-Stop: $syslog $local_fs $remote_fs
# Should-Start: $remote_fs
# Should-Stop: $remote_fs
# X-Start-Before: xdm kdm gdm ldm sdm
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: load deamon for Logitech G15 keyboard lcd display
# Description: load deamon for Logitech G15 keyboard lcd display
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/g15daemon
NAME=g15daemon
DESC="Logitech G15 keyboard LCD multiplexer"
[ -x "$DAEMON" ] || exit 0
. /lib/lsb/init-functions
# Include g15daemon defaults if available
if [ -f /etc/default/g15daemon ] ; then
. /etc/default/g15daemon
fi
if [ "$G15DEBUG" = "on" ]; then
log() {
logger -p daemon.debug -t g15 -- "$*"
}
else
log() {
true
}
fi
check_new_init() {
if [ -d /run/systemd/system ] ; then
exit $1
fi
}
load_uinput() {
if [ ! -e /dev/uinput ] ; then
modprobe -q uinput
udevadm settle -t 5 -E /dev/uinput
[ -e /dev/uinput 3 ] || return 1
fi
}
is_running() {
start-stop-daemon --stop --test --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
}
do_start() {
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
}
do_stop() {
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--oknodo --retry 5 --exec $DAEMON
}
case "$1" in
start)
log_daemon_msg "Starting $DESC" $NAME
load_uinput || log_warning_msg "/dev/uinput not found"
do_start
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping $DESC" $NAME
if do_stop ; then
log_end_msg 0
else
log_end_msg 1
exit 1
fi
;;
force-reload)
is_running && $0 restart || exit 0
;;
restart)
log_daemon_msg "Restarting $DESC" $NAME
if ! do_stop ; then
log_end_msg 1
exit 1
fi
# the device is slow to shut-down
sleep 1
load_uinput || log_warning_msg "/dev/uinput not found"
do_start
log_end_msg $?
;;
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
;;
esac
exit 0
+3 -3
View File
@@ -1,3 +1,3 @@
debian/tmp/usr/lib/*/g15daemon/*/plugins/*.so
debian/tmp/usr/sbin/g15daemon
debian/tmp/usr/share/g15daemon/splash/g15logo2.wbmp
usr/sbin/*
usr/lib/g15daemon/*/plugins/*
usr/share/doc/g15daemon*/*
-1
View File
@@ -1 +0,0 @@
Documentation/g15daemon.1
-12
View File
@@ -1,12 +0,0 @@
[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
-19
View File
@@ -1,19 +0,0 @@
# udev rule to start g15daemon when logitech g15 keyboards are attached
#
# Recognized devices from libg15-1.2.7/libg15.c
#
# Logitech g11 -- extra keys, no LCD
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
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
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
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
SUBSYSTEM=="usb", ATTR{idVendor}=="046d", ATTR{idProduct}=="c251", RUN+="/etc/init.d/g15daemon udev", TAG+="systemd", ENV{SYSTEMD_WANTS}+="g15daemon.service"
+6 -3
View File
@@ -1,3 +1,6 @@
debian/tmp/usr/include/*
debian/tmp/usr/lib/*/lib*.a
debian/tmp/usr/lib/*/lib*.so
usr/include/*
usr/lib/lib*.a
usr/lib/lib*.so
usr/lib/pkgconfig/*
usr/lib/*.la
usr/share/pkgconfig/*
+1 -1
View File
@@ -1 +1 @@
usr/lib/*/lib*.so.*
usr/lib/lib*.so.*
-1
View File
@@ -1 +0,0 @@
debian/tmp/usr/lib/*/lib*.so.*
-1
View File
@@ -1 +0,0 @@
Documentation/g15daemon_client_devel.3
-127
View File
@@ -1,127 +0,0 @@
--- 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 );
-39
View File
@@ -1,39 +0,0 @@
--- 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
View File
@@ -1,11 +0,0 @@
--- 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
View File
@@ -1,11 +0,0 @@
--- 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));
@@ -1,30 +0,0 @@
--- 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
View File
@@ -1,11 +0,0 @@
--- 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;
}
-23
View File
@@ -1,23 +0,0 @@
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: 2019-11-17
===================================================================
--- a/g15daemon/main.c
+++ b/g15daemon/main.c
@@ -203,11 +203,10 @@
g15daemon_send_event(masterlist->current->lcd,
G15_EVENT_KEYPRESS, keypresses);
lastkeys = keypresses;
-
- }else if(retval == -ENODEV && LIBG15_VERSION>=1200) {
+ }else if(retval != G15_NO_ERROR && retval != G15_ERROR_TIMEOUT && LIBG15_VERSION>=1200) {
+ g15daemon_log(LOG_WARNING,"Keyboard error (%d).. Reinitializing\n", retval);
pthread_mutex_lock(&g15lib_mutex);
while((retval=re_initLibG15() != G15_NO_ERROR) && !leaving){
- g15daemon_log(LOG_WARNING,"Keyboard has gone.. Retrying\n");
sleep(1);
}
if(!leaving) {
-44
View File
@@ -1,44 +0,0 @@
Description: Remove unused variables
Global variable keyhandler is declared as pointer to incomplete struct type.
Upon closer inspection, it turned out that this variable and
client_handles_keys are unused.
Author: Alexander Ponyatykh <lazyranma@gmail.com>
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=688465
Last-Update: 2019-11-18
===================================================================
--- a/g15daemon/linked_lists.c
+++ b/g15daemon/linked_lists.c
@@ -30,8 +30,6 @@
#include <g15daemon.h>
#include <libg15.h>
-extern lcd_t *keyhandler;
-extern unsigned int client_handles_keys;
extern plugin_info_t *generic_info;
lcd_t static * ll_create_lcd () {
@@ -175,12 +173,6 @@
(*masterlist)->current->lcd->state_changed = 1;
}
- if(&oldnode->lcd == (void*)keyhandler) {
- client_handles_keys = 0;
- keyhandler = NULL;
- g15daemon_log(LOG_WARNING,"Client key handler quit, going back to defaults");
- }
-
if((*masterlist)->head!=oldnode){
(*next)->prev = oldnode->prev;
(*prev)->next = oldnode->next;
--- a/g15daemon/main.c
+++ b/g15daemon/main.c
@@ -53,9 +53,7 @@
int keyboard_backlight_off_onexit = 0;
unsigned int g15daemon_debug = 0;
unsigned int cycle_key;
-unsigned int client_handles_keys = 0;
static unsigned int set_backlight = 0;
-struct lcd_t *keyhandler = NULL;
static int loaded_plugins = 0;
-8
View File
@@ -1,8 +0,0 @@
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
08-remove-unused-variables.diff
-14
View File
@@ -1,14 +0,0 @@
#!/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
+103 -5
View File
@@ -1,9 +1,107 @@
#!/usr/bin/make -f
# -*- makefile -*-
# Sample debian/rules that uses debhelper.
# This file was originally written by Joey Hess and Craig Small.
# As a special exception, when this file is copied by dh-make into a
# dh-make output file, you may use that output file without restriction.
# This special exception was added by Craig Small in version 0.37 of dh-make.
DH_VERBOSE = 1
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
%:
dh $@
override_dh_installsystemd:
dh_installsystemd --no-start
# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
CFLAGS = -Wall -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
config.status: configure
dh_testdir
# Add here commands to configure the package.
CFLAGS="$(CFLAGS) -Wl,-z,defs" ./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
build: build-stamp
build-stamp: config.status
dh_testdir
# Add here commands to compile the package.
$(MAKE)
#docbook-to-man debian/g15daemon.sgml > g15daemon.1
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
# Add here commands to clean up after the build process.
-$(MAKE) distclean
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
cp -f /usr/share/misc/config.sub config.sub
endif
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
cp -f /usr/share/misc/config.guess config.guess
endif
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Add here commands to install the package into debian/g15daemon.
$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installchangelogs ChangeLog
dh_installdocs
dh_installexamples
dh_install -a --sourcedir=debian/tmp
# dh_installmenu
# dh_installdebconf
# dh_installlogrotate
# dh_installemacsen
# dh_installpam
# dh_installmime
# dh_installinit
# dh_installcron
# dh_installinfo
dh_installman Documentation/g15daemon.1 Documentation/g15daemon_client_devel.3
dh_link
dh_strip
dh_compress
dh_fixperms
# dh_perl
# dh_python
# dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
-1
View File
@@ -1 +0,0 @@
3.0 (quilt)
-7
View File
@@ -1,7 +0,0 @@
# See uscan(1) for format
# Compulsory line, this is a version 3 file
version=3
https://sf.net/g15daemon/g15daemon-([1-9].*)\.tar\.gz