Compare commits

..
Author SHA1 Message Date
Alexander Ponyatykh acd26f4e1b Add -fcommon compiler flag for compatibility with GCC 10.
Compliant to policy 4.5.0
2020-07-28 23:40:27 +03:00
Alexander Ponyatykh 9b57b2e29c Compliant to policy 4.4.1 2019-11-19 00:51:09 +03:00
Alexander Ponyatykh 107f0d8a79 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.
2019-11-18 23:58:12 +03:00
Alexander Ponyatykh 7d071c32b7 Reinitialize on any error code, not just a negative one.
Upstream libg15 propagates any error code from libusb to the caller,
and legacy libusb-0.1 uses standard codes from errno.h with minus sign
resulting in negative integers. Previous version of reinit-on-any-error
patch uses this fact and calls re_initLibG15() on any negative return
value of getPressedKeys().

The new libusb-1.0 uses its own error codes, not compatible with the
old ones. While rewriting libg15 to use the new library, I decided
to translate LIBUSB_ERROR_* codes to G15_ERROR_*, which are positive
integers. This change requires us to modify reinit-on-any-error patch
to call re_initLibG15() on any error code, not just a negative one.
2019-11-17 15:24:38 +03:00
Andrej Shadura 96591e26fa Rebuild (no source changes) 2019-11-16 19:25:25 +01:00
Andrej Shadura 9907e0062b Finalise the changelog 2019-10-19 21:17:49 +02:00
Andrej Shadura a3bbbca557 Add myself as an uploader 2019-10-19 21:17:47 +02:00
Andrej Shadura 351c169ea5 d/watch: Use https protocol 2019-10-19 21:17:46 +02:00
Andrej Shadura 5fb544492b d/control: Add Vcs-* field 2019-10-19 21:17:45 +02:00
Andrej Shadura 617a6ef06c d/changelog: Remove trailing whitespaces 2019-10-19 21:17:44 +02:00
Andrej Shadura 503d5138ca Use debhelper-compat instead of debian/compat 2019-10-19 21:17:42 +02:00
Andrej Shadura 7aab0cc87f Wrap and sort 2019-10-19 21:17:35 +02:00
ranma dda0192482 Fix typo in postinst script. 2019-10-19 21:08:35 +02:00
ranma 6c79eaa189 Add dependency on libg15-1 (>= 1.2.7-3) 2019-10-19 21:07:40 +02:00
Alexander Ponyatykh b4412b7c70 * 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)
2019-05-02 18:15:52 +03:00
Eric Dorland 59793e4434 Import Debian changes 1.9.5.3-8.3
g15daemon (1.9.5.3-8.3) unstable; urgency=medium

  * Non-maintainer upload.
  * debian/control: Drop unnecessary automake1.9 build deps. (Closes:
    #724371)
2014-03-04 23:50:12 -05:00
Luk Claes 1363e7ede4 Import Debian changes 1.9.5.3-8.2
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).
2011-05-31 07:33:52 +02:00
Julien Cristau 9be03a7841 Import Debian changes 1.9.5.3-8.1
g15daemon (1.9.5.3-8.1) unstable; urgency=low

  * Non-maintainer upload.
  * Send a sync event after key up/down (closes: #567213).
2010-07-25 11:39:22 +02:00
Giacomo Catenazzi 1525a75133 Import Debian changes 1.9.5.3-8
g15daemon (1.9.5.3-8) unstable; urgency=low

  * Put the third argument (modes) on open with O_CREAT (Closes: #559649)
  * remove rpath
2009-12-18 07:52:26 +01:00
Giacomo Catenazzi e34c9fcf1c Import Debian changes 1.9.5.3-7
g15daemon (1.9.5.3-7) unstable; urgency=low

  * Don't distribute .la file
2009-10-08 07:22:15 +02:00
Giacomo Catenazzi c9a200ca8e Import Debian changes 1.9.5.3-6
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
2009-08-19 07:33:22 +02:00
Giacomo Catenazzi b6a96a4dd3 Import Debian changes 1.9.5.3-5
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)
2009-08-13 08:20:02 +02:00
Giacomo Catenazzi c8d7f9138e Import Debian changes 1.9.5.3-4
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
2009-08-06 08:32:33 +02:00
Giacomo Catenazzi be8ef5acb3 Import Debian changes 1.9.5.3-3
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)
2008-04-28 08:47:07 +02:00
Giacomo Catenazzi c1e37ff1ff Import Debian changes 1.9.5.3-2
g15daemon (1.9.5.3-2) unstable; urgency=low

  * Recommend xkb-data instead of keyboard-config. Adapted patch from
    Amaya, thanks! (Closes: #474451).
2008-04-07 19:56:34 +02:00
Giacomo Catenazzi b0d19d1e70 Import Debian changes 1.9.5.3-1
g15daemon (1.9.5.3-1) unstable; urgency=low

  * New upstream version
2008-02-14 08:08:03 +01:00
Giacomo Catenazzi c7666acd5c Import Upstream version 1.9.5.3 2019-04-29 15:43:03 +02:00
39 changed files with 818 additions and 243 deletions

No files matched your search

+8 -1
View File
@@ -17,7 +17,7 @@
(c) 2006-2008 Mike Lampard, Philip Lawatsch, and others
$Revision: 452 $ - $Date: 2008-01-25 16:04:31 +1030 (Fri, 25 Jan 2008) $ $Author: mlampard $
$Revision: 458 $ - $Date: 2008-01-31 15:48:40 +1030 (Thu, 31 Jan 2008) $ $Author: mlampard $
This daemon listens on localhost port 15550 for client connections,
and arbitrates LCD display. Allows for multiple simultaneous clients.
@@ -166,3 +166,10 @@ allow clients use of all 'L' keys.
1.9.5.2:
- BugFix: IS_USER_SELECTED client command was broken. fix it.
- BugFix: restore client ability to change backlight state.
1.9.5.3:
- 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.
+29 -24
View File
@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.10 from Makefile.am.
# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -472,8 +472,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -498,8 +498,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -509,13 +509,12 @@ ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
@@ -589,6 +588,10 @@ dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-lzma: distdir
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
$(am__remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
@@ -615,6 +618,8 @@ distcheck: dist
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
@@ -773,21 +778,21 @@ uninstall-man: uninstall-man1 uninstall-man3
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \
distclean distclean-generic distclean-hdr distclean-libtool \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-data-hook install-docDATA \
install-dvi install-dvi-am install-exec install-exec-am \
install-html install-html-am install-imageDATA install-info \
install-info-am install-man install-man1 install-man3 \
install-pdf install-pdf-am install-ps install-ps-am \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall-docDATA uninstall-imageDATA uninstall-man \
uninstall-man1 uninstall-man3
dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-zip \
distcheck distclean distclean-generic distclean-hdr \
distclean-libtool distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-data install-data-am \
install-data-hook install-docDATA install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-imageDATA install-info install-info-am install-man \
install-man1 install-man3 install-pdf install-pdf-am \
install-ps install-ps-am install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am uninstall-docDATA uninstall-imageDATA \
uninstall-man uninstall-man1 uninstall-man3
install-data-hook:
Vendored
+22 -16
View File
@@ -1,7 +1,7 @@
# generated automatically by aclocal 1.10 -*- Autoconf -*-
# generated automatically by aclocal 1.10.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006 Free Software Foundation, Inc.
# 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -11,10 +11,13 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
m4_if(m4_PACKAGE_VERSION, [2.61],,
[m4_fatal([this file was generated for autoconf 2.61.
You have another version of autoconf. If you want to use that,
you should regenerate the build system entirely.], [63])])
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(AC_AUTOCONF_VERSION, [2.61],,
[m4_warning([this file was generated for autoconf 2.61.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
@@ -6602,7 +6605,7 @@ AC_SUBST([SED])
AC_MSG_RESULT([$SED])
])
# Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -6617,7 +6620,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.10'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.10], [],
m4_if([$1], [1.10.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
])
@@ -6633,8 +6636,10 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.10])dnl
_AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
[AM_AUTOMAKE_VERSION([1.10.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
@@ -6906,7 +6911,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# each Makefile.in and add a new line on top of each file to say so.
# Grep'ing the whole file is not good either: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
@@ -6954,13 +6959,13 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006 Free Software Foundation, Inc.
# 2005, 2006, 2008 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# serial 12
# serial 13
# This macro actually does too much. Some checks are only needed if
# your package does certain things. But this isn't really a big deal.
@@ -7065,16 +7070,17 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
# our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers.
_am_arg=$1
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
$1 | $1:* )
$_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
#
@@ -7346,7 +7352,7 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# _AM_SUBST_NOTMAKE(VARIABLE)
# ---------------------------
# Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE])
Vendored
+19 -18
View File
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for g15daemon 1.9.5.2.
# Generated by GNU Autoconf 2.61 for g15daemon 1.9.5.3.
#
# Report bugs to <mlampard@users.sf.net>.
#
@@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='g15daemon'
PACKAGE_TARNAME='g15daemon'
PACKAGE_VERSION='1.9.5.2'
PACKAGE_STRING='g15daemon 1.9.5.2'
PACKAGE_VERSION='1.9.5.3'
PACKAGE_STRING='g15daemon 1.9.5.3'
PACKAGE_BUGREPORT='mlampard@users.sf.net'
ac_default_prefix=/usr
@@ -1401,7 +1401,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures g15daemon 1.9.5.2 to adapt to many kinds of systems.
\`configure' configures g15daemon 1.9.5.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1472,7 +1472,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of g15daemon 1.9.5.2:";;
short | recursive ) echo "Configuration of g15daemon 1.9.5.3:";;
esac
cat <<\_ACEOF
@@ -1575,7 +1575,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
g15daemon configure 1.9.5.2
g15daemon configure 1.9.5.3
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1589,7 +1589,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by g15daemon $as_me 1.9.5.2, which was
It was created by g15daemon $as_me 1.9.5.3, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2407,7 +2407,7 @@ fi
# Define the identity of the package.
PACKAGE='g15daemon'
VERSION='1.9.5.2'
VERSION='1.9.5.3'
cat >>confdefs.h <<_ACEOF
@@ -22399,7 +22399,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by g15daemon $as_me 1.9.5.2, which was
This file was extended by g15daemon $as_me 1.9.5.3, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -22452,7 +22452,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
g15daemon config.status 1.9.5.2
g15daemon config.status 1.9.5.3
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -23192,21 +23192,22 @@ echo "$as_me: $ac_file is unchanged" >&6;}
fi
rm -f "$tmp/out12"
# Compute $ac_file's index in $config_headers.
_am_arg=$ac_file
_am_stamp_count=1
for _am_header in $config_headers :; do
case $_am_header in
$ac_file | $ac_file:* )
$_am_arg | $_am_arg:* )
break ;;
* )
_am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac
done
echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
$as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X$ac_file : 'X\(//\)[^/]' \| \
X$ac_file : 'X\(//\)$' \| \
X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
echo X$ac_file |
echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$_am_arg" : 'X\(//\)[^/]' \| \
X"$_am_arg" : 'X\(//\)$' \| \
X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$_am_arg" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
@@ -23243,7 +23244,7 @@ echo "$as_me: executing $ac_file commands" >&6;}
# each Makefile.in and add a new line on top of each file to say so.
# Grep'ing the whole file is not good either: AIX grep has a line
# limit of 2048, but all sed's we know have understand at least 4000.
if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \
+2 -2
View File
@@ -1,10 +1,10 @@
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
# $Revision: 450 $ - $Date: 2008-01-24 19:59:54 +1030 (Thu, 24 Jan 2008) $ $Author: mlampard $
# $Revision: 458 $ - $Date: 2008-01-31 15:48:40 +1030 (Thu, 31 Jan 2008) $ $Author: mlampard $
AC_PREREQ(2.59)
AC_INIT(g15daemon, [1.9.5.2], [mlampard@users.sf.net])
AC_INIT(g15daemon, [1.9.5.3], [mlampard@users.sf.net])
AC_PREFIX_DEFAULT(/usr)
AC_CONFIG_AUX_DIR(config)
AC_CANONICAL_HOST()
+8
View File
@@ -0,0 +1,8 @@
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
+1 -1
View File
@@ -4,7 +4,7 @@ g15daemon for Debian
Debian 'xkeyboard-config' package already have support for g15
keyboards, so you don't need to exec 'xmodmap' as described on
original documentations. Anywaym you should configure your
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
+155 -1
View File
@@ -1,3 +1,157 @@
g15daemon (1.9.5.3-12) unstable; urgency=medium
* Add -fcommon compiler flag for compatibility with GCC 10.
(Closes: bug#957243)
* Compliant to policy 4.5.0
-- Alexander Ponyatykh <lazyranma@gmail.com> Tue, 28 Jul 2020 23:37:13 +0300
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)
@@ -36,7 +190,7 @@ 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
-1
View File
@@ -1 +0,0 @@
5
+50 -23
View File
@@ -1,35 +1,62 @@
Source: g15daemon
Section: utils
Priority: extra
Maintainer: Giacomo Catenazzi <cate@debian.org>
Build-Depends: cdbs, debhelper (>= 5), autotools-dev, automake1.9, libtool,
libg15-dev, libg15render-dev (>=1.2.0.svn250-2), libusb-dev, libfreetype6-dev
Standards-Version: 3.7.3
Homepage: http://www.g15tools.com/
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.5.0
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
Section: utils
Architecture: any
Depends: ${shlibs:Depends}, libg15daemon-client1 (=${binary:Version})
Recommends: xkeyboard-config ( >= 0.9+cvs.20070428-1)
Description: Screen multiplexer for Logitech G15 Keyboard
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
G15daemon provides multiple virtual screens for the LCD on the Logitech
G11 and G15 keyboards.
.
This package contain the daemon and a generic client to talk to the
daemon.
Package: libg15daemon-client1
Section: libs
Architecture: any
Depends: ${shlibs:Depends}
Description: Development packages for libg15daemon-client
Includes the files needed for developing g15daemon clients
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.
Package: libg15daemon-client-dev
Section: libdevel
Architecture: any
Depends: libg15daemon-client1 (= ${binary:Version})
Description: Development packages for libg15daemon-client
Includes the files needed for developing g15daemon clients
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.
+4 -4
View File
@@ -3,7 +3,7 @@ Mon, 27 Aug 2007 20:00:20 +0200.
It was downloaded from http://g15daemon.sourceforge.net/
Upstream Authors:
Upstream Authors:
Mike Lampard <mlampard@users.sf.net>
Sven Ludwig
@@ -23,6 +23,6 @@ License:
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
is licensed under the GPL v2 (or later), see `/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'.
+3 -6
View File
@@ -1,12 +1,9 @@
# Defaults for g15daemon initscript
# SWITCH_KEY selects the key used to switch between client screens
#
# 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
# SWITCH_KEY option was removed. Use DAEMON_OPTS="-s" instead.
SWITCH_KEY="MR"
# Turn on debugging of g15 init.d and udev scripts
#G15DEBUG="on"
# Additional options that are passed to the Daemon.
DAEMON_OPTS=""
View File
File renamed without changes.
+96 -60
View File
@@ -2,10 +2,11 @@
### BEGIN INIT INFO
# Provides: g15daemon
# Required-Start: $local_fs
# Required-Stop: $local_fs
# 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
@@ -16,74 +17,109 @@
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/sbin/g15daemon
NAME=g15daemon
DESC=g15daemon
DESC="Logitech G15 keyboard LCD multiplexer"
test -x $DAEMON || exit 0
[ -x "$DAEMON" ] || exit 0
. /lib/lsb/init-functions
# Include g15daemon defaults if available
if [ -f /etc/default/g15daemon ] ; then
. /etc/default/g15daemon
. /etc/default/g15daemon
fi
if [ "$SWITCH_KEY" = "MR" ]; then
DAEMON_OPTS="-s $DAEMON_OPTS"
if [ "$G15DEBUG" = "on" ]; then
log() {
logger -p daemon.debug -t g15 -- "$*"
}
else
log() {
true
}
fi
set -e
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)
echo -n "Starting $DESC: "
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
$DAEMON -k
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--oknodo --retry 5 --exec $DAEMON
echo "$NAME."
;;
#reload)
#
# If the daemon can reload its config files on the fly
# for example by sending it SIGHUP, do it here.
#
# If the daemon responds to changes in its config file
# directly anyway, make this a do-nothing entry.
#
# echo "Reloading $DESC configuration files."
# start-stop-daemon --stop --signal 1 --quiet --pidfile \
# /var/run/$NAME.pid --exec $DAEMON
#;;
force-reload)
#
# If the "reload" option is implemented, move the "force-reload"
# option to the "reload" entry above. If not, "force-reload" is
# just the same as "restart" except that it does nothing if the
# daemon isn't already running.
# check wether $DAEMON is running. If so, restart
start-stop-daemon --stop --test --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON \
&& $0 restart \
|| exit 0
;;
restart)
echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON
sleep 1
start-stop-daemon --start --quiet --pidfile \
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME."
;;
*)
N=/etc/init.d/$NAME
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
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 -4
View File
@@ -1,4 +1,3 @@
debian/tmp/usr/sbin/g15daemon usr/sbin
debian/tmp/usr/lib/g15daemon/1.9.5.2/plugins/*.so usr/lib/g15daemon/1.9.5.2/plugins/
debian/tmp/usr/share/g15daemon/splash/g15logo2.wbmp usr/share/g15daemon/splash/
debian/tmp/usr/lib/*/g15daemon/*/plugins/*.so
debian/tmp/usr/sbin/g15daemon
debian/tmp/usr/share/g15daemon/splash/g15logo2.wbmp
+12
View File
@@ -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
+19
View File
@@ -0,0 +1,19 @@
# 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"
+3 -5
View File
@@ -1,5 +1,3 @@
debian/tmp/usr/include/* usr/include/
debian/tmp/usr/lib/lib*.a usr/lib/
debian/tmp/usr/lib/lib*.so usr/lib/
debian/tmp/usr/lib/*.la usr/lib/
debian/tmp/usr/include/*
debian/tmp/usr/lib/*/lib*.a
debian/tmp/usr/lib/*/lib*.so
+1 -1
View File
@@ -1 +1 @@
usr/lib/lib*.so.*
usr/lib/*/lib*.so.*
+1 -1
View File
@@ -1 +1 @@
debian/tmp/usr/lib/lib*.so.* usr/lib/
debian/tmp/usr/lib/*/lib*.so.*
+127
View File
@@ -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 );
+39
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
+23
View File
@@ -0,0 +1,23 @@
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
@@ -0,0 +1,44 @@
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
@@ -0,0 +1,8 @@
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
Vendored Executable
+14
View File
@@ -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
+6 -24
View File
@@ -1,28 +1,10 @@
#!/usr/bin/make -f
# for SVN versions
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/
DH_VERBOSE = 1
export DEB_CFLAGS_MAINT_APPEND = -fcommon
#clean::
# -rm -Rf $(AUTOMAKE_REMOVE)
#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
%:
dh $@
override_dh_installsystemd:
dh_installsystemd --no-start
+1
View File
@@ -0,0 +1 @@
3.0 (quilt)
+1 -1
View File
@@ -3,5 +3,5 @@
# Compulsory line, this is a version 3 file
version=3
http://sf.net/g15daemon/g15daemon-([1-9].*)\.tar\.bz2
https://sf.net/g15daemon/g15daemon-([1-9].*)\.tar\.gz
+11 -12
View File
@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.10 from Makefile.am.
# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -60,7 +60,7 @@ am_g15daemontest_OBJECTS = lcdclient_test.$(OBJEXT)
g15daemontest_OBJECTS = $(am_g15daemontest_OBJECTS)
g15daemontest_DEPENDENCIES = \
$(top_builddir)/libg15daemon_client/libg15daemon_client.la
DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -256,8 +256,8 @@ install-sbinPROGRAMS: $(sbin_PROGRAMS)
|| test -f $$p1 \
; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(sbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(sbindir)/$$f'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(sbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(sbindir)/$$f" || exit 1; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(sbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(sbindir)/$$f'"; \
$(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(sbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(sbindir)/$$f" || exit 1; \
else :; fi; \
done
@@ -343,8 +343,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -356,8 +356,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -367,13 +367,12 @@ ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
+15 -6
View File
@@ -17,7 +17,7 @@
(c) 2006-2008 Mike Lampard, Philip Lawatsch, and others
$Revision: 452 $ - $Date: 2008-01-25 16:04:31 +1030 (Fri, 25 Jan 2008) $ $Author: mlampard $
$Revision: 457 $ - $Date: 2008-01-31 15:32:46 +1030 (Thu, 31 Jan 2008) $ $Author: mlampard $
This daemon listens on localhost port 15550 for client connections,
and arbitrates LCD display. Allows for multiple simultaneous clients.
@@ -54,6 +54,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;
@@ -88,7 +89,7 @@ int g15daemon_send_event(void *caller, unsigned int event, unsigned long value)
g15daemon_log(LOG_WARNING,"Error in send: %s\n",strerror(errno));
}
if(value & G15_KEY_LIGHT){ // the backlight key was pressed - maintain user-selected state
lcd_t *displaying = lcd->masterlist->tail->lcd;
lcd_t *displaying = lcd->masterlist->current->lcd;
lcd->masterlist->kb_backlight_state++;
lcd->masterlist->kb_backlight_state %= 3;
displaying->backlight_state++;
@@ -246,10 +247,13 @@ static void *lcd_draw_thread(void *lcdlist){
uf_write_buf_to_g15(displaying);
g15daemon_log(LOG_DEBUG,"LCD Update Complete");
if(prev_state!=displaying->backlight_state) {
if(prev_state!=displaying->backlight_state && set_backlight!=0) {
prev_state=displaying->backlight_state;
pthread_mutex_lock(&g15lib_mutex);
setLCDBrightness(displaying->backlight_state);
usleep(5);
setLCDBrightness(displaying->backlight_state);
setKBBrightness(displaying->backlight_state);
pthread_mutex_unlock(&g15lib_mutex);
}
@@ -359,13 +363,14 @@ int main (int argc, char *argv[])
if (!strncmp(daemonargs, "-h",2) || !strncmp(daemonargs, "--help",6)) {
printf("G15Daemon version %s - %s\n",VERSION,uf_return_running() >= 0 ?"Loaded & Running":"Not Running");
printf("%s -h (--help) or -k (--kill) or -s (--switch) or -d (--debug) [level] or -v (--version) or -l (--lcdlevel) [0-2] \n\n -k will kill a previous incarnation",argv[0]);
printf("%s -h (--help) or -k (--kill) or -s (--switch) or -d (--debug) [level] or -v (--version) or -l (--lcdlevel) [0-2] \n\n -k\twill kill a previous incarnation",argv[0]);
#ifdef LIBG15_VERSION
#if LIBG15_VERSION >= 1200
printf(", if uppercase -K or -KILL turn off the keyboard backlight on the way out.");
printf("\n -K\tturn off the keyboard backlight on the way out.");
#endif
#endif
printf("\n -h shows this help\n -s changes the screen-switch key from L1 to MR (beware)\n -d debug mode - stay in foreground and output all debug messages to STDERR\n -v show version\n -l set default LCD backlight level\n");
printf("\n -h\tshows this help\n -s\tchanges the screen-switch key from L1 to MR (beware)\n -d\tdebug mode - stay in foreground and output all debug messages to STDERR\n -v\tshow version\n -l\tset default LCD backlight level\n");
printf(" --set-backlight sets backlight individually for currently shown screen.\n\t\tDefault is to set backlight globally (keyboard default).\n");
exit(0);
}
@@ -374,6 +379,10 @@ int main (int argc, char *argv[])
cycle_cmdline_override=1;
}
if (!strncmp(daemonargs, "--set-backlight",15)) {
set_backlight = 1;
}
if (!strncmp(daemonargs, "-d",2) || !strncmp(daemonargs, "--debug",7)) {
g15daemon_debug = 1;
if((argv[i+1])!=NULL)
+13 -14
View File
@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.10 from Makefile.am.
# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -59,7 +59,7 @@ libg15daemon_client_la_OBJECTS = $(am_libg15daemon_client_la_OBJECTS)
libg15daemon_client_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libg15daemon_client_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -234,8 +234,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
$(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
else :; fi; \
done
@@ -243,8 +243,8 @@ uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
done
clean-libLTLIBRARIES:
@@ -315,8 +315,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -328,8 +328,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -339,13 +339,12 @@ ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
+13 -14
View File
@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.10 from Makefile.am.
# Makefile.in generated by automake 1.10.1 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -73,7 +73,7 @@ g15plugin_uinput_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(g15plugin_uinput_la_LDFLAGS) $(LDFLAGS) -o $@
@UINPUT_INTERFACE_PLUGIN_TRUE@am_g15plugin_uinput_la_rpath = -rpath \
@UINPUT_INTERFACE_PLUGIN_TRUE@ $(libdir)
DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -256,8 +256,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
$(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
else :; fi; \
done
@@ -265,8 +265,8 @@ uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
done
clean-libLTLIBRARIES:
@@ -326,8 +326,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
mkid -fID $$unique
tags: TAGS
@@ -339,8 +339,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -350,13 +350,12 @@ ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
+2 -2
View File
@@ -17,7 +17,7 @@
(c) 2006-2008 Mike Lampard, Philip Lawatsch, and others
$Revision: 451 $ - $Date: 2008-01-25 15:15:04 +1030 (Fri, 25 Jan 2008) $ $Author: mlampard $
$Revision: 456 $ - $Date: 2008-01-28 16:35:31 +1030 (Mon, 28 Jan 2008) $ $Author: mlampard $
This daemon listens on localhost port 15550 for client connections,
and arbitrates LCD display. Allows for multiple simultaneous clients.
@@ -219,7 +219,7 @@ static int g15_recv(lcdnode_t *lcdnode, int sock, char *buf, unsigned int len)
}
process_client_cmds(lcdnode, sock, msgbuf,len);
}
else if(pfd[0].revents & POLLIN && !(pfd[0].revents & POLLERR || pfd[0].revents & POLLHUP || pfd[0].revents & POLLNVAL)) {
else if(pfd[0].revents & POLLIN && !(pfd[0].revents & POLLERR || pfd[0].revents & POLLHUP || pfd[0].revents & POLLNVAL || pfd[0].revents & POLLPRI)) {
retval = recv(sock, buf+total, bytesleft, 0);
if (retval < 1) {
+2 -2
View File
@@ -3,11 +3,11 @@
%define prefix /usr
Summary: Daemon to control logitech G15 keyboards
Name: g15daemon
Version: 1.9.5.2
Version: 1.9.5.3
Release: 1
Copyright: GPL
Group: Applications/System
Source: ftp://prdownloads.sf.net/g15daemon-1.9.5.2.tar.bz2
Source: ftp://prdownloads.sf.net/g15daemon-1.9.5.3.tar.bz2
URL: http://g15daemon.sf.net
Distribution: Linux
Vendor: NONE