Compare commits

..
31 changed files with 435 additions and 623 deletions

No files matched your search

+1 -8
View File
@@ -17,7 +17,7 @@
(c) 2006-2008 Mike Lampard, Philip Lawatsch, and others (c) 2006-2008 Mike Lampard, Philip Lawatsch, and others
$Revision: 458 $ - $Date: 2008-01-31 15:48:40 +1030 (Thu, 31 Jan 2008) $ $Author: mlampard $ $Revision: 452 $ - $Date: 2008-01-25 16:04:31 +1030 (Fri, 25 Jan 2008) $ $Author: mlampard $
This daemon listens on localhost port 15550 for client connections, This daemon listens on localhost port 15550 for client connections,
and arbitrates LCD display. Allows for multiple simultaneous clients. and arbitrates LCD display. Allows for multiple simultaneous clients.
@@ -166,10 +166,3 @@ allow clients use of all 'L' keys.
1.9.5.2: 1.9.5.2:
- BugFix: IS_USER_SELECTED client command was broken. fix it. - BugFix: IS_USER_SELECTED client command was broken. fix it.
- BugFix: restore client ability to change backlight state. - 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.
+107
View File
@@ -37,6 +37,113 @@ to have the MR key as the client screen switch.
If all required libraries are installed and in locations known to your operating system, the daemon will slip quietly into the background and a clock will appear on the LCD. If all required libraries are installed and in locations known to your operating system, the daemon will slip quietly into the background and a clock will appear on the LCD.
Congratulations! The linux kernel will now output keycodes for all your extra keys. Congratulations! The linux kernel will now output keycodes for all your extra keys.
.SH "Using the keys in X11"
Current versions of the Xorg Xserver dont have support for the extra keys that g15daemon provides. This support will be available in the next release of Xorg (7.2).
For now, if you want access to the extra keys for hotkey support in X11, you need to run the xmodmaprc script on each start of X. This script is available in the contrib folder (if g15daemon is installed in the default location, the contrib folder is in /usr/share/doc/g15daemon\-${VERSION}/contrib
Depending on your linux distribution, copying the xmodmaprc file (or pasting the text below) into ~/.Xmodmap may be all that's required.
.SH "Xmodmaprc file"
Copy the following into ~/.Xmodmap (depending on your distribution) for X11 to recognise all extra G15 keys:
\-\- cut here \-\-
.br
keycode 93 = XF86Launch1
.br
keycode 129 = XF86Launch8
.br
keycode 130 = XF86Launch9
.br
keycode 131 = XF86Launch2
.br
keycode 132 = XF86Phone
.br
keycode 133 = XF86Messenger
.br
keycode 136 = XF86LaunchD
.br
keycode 137 = XF86Support
.br
keycode 138 = XF86Word
.br
keycode 143 = XF86LaunchF
.br
keycode 144 = XF86AudioPrev
.br
keycode 150 = XF86LogOff
.br
keycode 152 = XF86Launch5
.br
keycode 153 = XF86AudioNext
.br
keycode 160 = XF86AudioMute
.br
keycode 161 = XF86Travel
.br
keycode 162 = XF86AudioPlay
.br
keycode 163 = XF86Spell
.br
keycode 164 = XF86AudioStop
.br
keycode 170 = XF86VendorHome
.br
keycode 174 = XF86AudioLowerVolume
.br
keycode 176 = XF86AudioRaiseVolume
.br
keycode 177 = XF86Launch4
.br
keycode 178 = XF86HomePage
.br
keycode 182 = XF86Away
.br
keycode 183 = XF86WebCam
.br
keycode 184 = XF86Launch0
.br
keycode 188 = XF86Music
.br
keycode 190 = XF86Launch6
.br
keycode 194 = XF86Forward
.br
keycode 195 = XF86Send
.br
keycode 205 = XF86Calendar
.br
keycode 208 = XF86Launch7
.br
keycode 209 = XF86LaunchB
.br
keycode 210 = XF86LaunchC
.br
keycode 215 = XF86Save
.br
keycode 219 = XF86WWW
.br
keycode 220 = XF86LaunchE
.br
keycode 223 = XF86Sleep
.br
keycode 228 = XF86Pictures
.br
keycode 231 = XF86LaunchA
.br
keycode 236 = XF86Mail
.br
keycode 237 = XF86AudioMedia
.br
keycode 246 = XF86iTouch
.br
keycode 247 = XF86Launch3
.br
keycode 249 = XF86ToDoList
.br
keycode 251 = XF86Calculater
.br
\-\- end cutting \-\-
.SH "AUTHORS" .SH "AUTHORS"
The latest release of g15daemon is available at The latest release of g15daemon is available at
.P .P
+1 -1
View File
@@ -55,7 +55,7 @@ Example:
int retval = 0; int retval = 0;
int screen_fd = new_g15_screen( G15_WBMPBUF ); int screen_fd = new_g15_screen( G15_WBMPBUF );
... do processing and display here ... ... do processing and display here ...
retval = g15_close_screen( screen_fd ); retval = g15_close_screen( screen_fd );
+24 -29
View File
@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.10.1 from Makefile.am. # Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # 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 \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS tags: TAGS
@@ -498,8 +498,8 @@ TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \ test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -509,12 +509,13 @@ ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \ test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique $$tags $$unique
@@ -588,10 +589,6 @@ dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir) $(am__remove_distdir)
dist-lzma: distdir
tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
$(am__remove_distdir)
dist-tarZ: distdir dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir) $(am__remove_distdir)
@@ -618,8 +615,6 @@ distcheck: dist
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \ *.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.Z*) \ *.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \ *.shar.gz*) \
@@ -778,21 +773,21 @@ uninstall-man: uninstall-man1 uninstall-man3
.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
all all-am am--refresh check check-am clean clean-generic \ all all-am am--refresh check check-am clean clean-generic \
clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
dist-gzip dist-hook dist-lzma dist-shar dist-tarZ dist-zip \ dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \
distcheck distclean distclean-generic distclean-hdr \ distclean distclean-generic distclean-hdr distclean-libtool \
distclean-libtool distclean-tags distcleancheck distdir \ distclean-tags distcleancheck distdir distuninstallcheck dvi \
distuninstallcheck dvi dvi-am html html-am info info-am \ dvi-am html html-am info info-am install install-am \
install install-am install-data install-data-am \ install-data install-data-am install-data-hook install-docDATA \
install-data-hook install-docDATA install-dvi install-dvi-am \ install-dvi install-dvi-am install-exec install-exec-am \
install-exec install-exec-am install-html install-html-am \ install-html install-html-am install-imageDATA install-info \
install-imageDATA install-info install-info-am install-man \ install-info-am install-man install-man1 install-man3 \
install-man1 install-man3 install-pdf install-pdf-am \ install-pdf install-pdf-am install-ps install-ps-am \
install-ps install-ps-am install-strip installcheck \ install-strip installcheck installcheck-am installdirs \
installcheck-am installdirs installdirs-am maintainer-clean \ installdirs-am maintainer-clean maintainer-clean-generic \
maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall uninstall-am uninstall-docDATA uninstall-imageDATA \ uninstall-docDATA uninstall-imageDATA uninstall-man \
uninstall-man uninstall-man1 uninstall-man3 uninstall-man1 uninstall-man3
install-data-hook: install-data-hook:
Vendored
+16 -22
View File
@@ -1,7 +1,7 @@
# generated automatically by aclocal 1.10.1 -*- Autoconf -*- # generated automatically by aclocal 1.10 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # 2005, 2006 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@@ -11,13 +11,10 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A # even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE. # PARTICULAR PURPOSE.
m4_ifndef([AC_AUTOCONF_VERSION], m4_if(m4_PACKAGE_VERSION, [2.61],,
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl [m4_fatal([this file was generated for autoconf 2.61.
m4_if(AC_AUTOCONF_VERSION, [2.61],, You have another version of autoconf. If you want to use that,
[m4_warning([this file was generated for autoconf 2.61. you should regenerate the build system entirely.], [63])])
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-*- # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
@@ -6605,7 +6602,7 @@ AC_SUBST([SED])
AC_MSG_RESULT([$SED]) AC_MSG_RESULT([$SED])
]) ])
# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
@@ -6620,7 +6617,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.10' [am__api_version='1.10'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to 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. dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.10.1], [], m4_if([$1], [1.10], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
]) ])
@@ -6636,10 +6633,8 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.10.1])dnl [AM_AUTOMAKE_VERSION([1.10])dnl
m4_ifndef([AC_AUTOCONF_VERSION], _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)])
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)])
# AM_AUX_DIR_EXPAND -*- Autoconf -*- # AM_AUX_DIR_EXPAND -*- Autoconf -*-
@@ -6911,7 +6906,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
# each Makefile.in and add a new line on top of each file to say so. # 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 # 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. # limit of 2048, but all sed's we know have understand at least 4000.
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")` dirpart=`AS_DIRNAME("$mf")`
else else
continue continue
@@ -6959,13 +6954,13 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
# Do all the work for Automake. -*- Autoconf -*- # Do all the work for Automake. -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2008 Free Software Foundation, Inc. # 2005, 2006 Free Software Foundation, Inc.
# #
# This file is free software; the Free Software Foundation # This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
# serial 13 # serial 12
# This macro actually does too much. Some checks are only needed if # 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. # your package does certain things. But this isn't really a big deal.
@@ -7070,17 +7065,16 @@ AC_PROVIDE_IFELSE([AC_PROG_OBJC],
# our stamp files there. # our stamp files there.
AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
[# Compute $1's index in $config_headers. [# Compute $1's index in $config_headers.
_am_arg=$1
_am_stamp_count=1 _am_stamp_count=1
for _am_header in $config_headers :; do for _am_header in $config_headers :; do
case $_am_header in case $_am_header in
$_am_arg | $_am_arg:* ) $1 | $1:* )
break ;; break ;;
* ) * )
_am_stamp_count=`expr $_am_stamp_count + 1` ;; _am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac esac
done done
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
# #
@@ -7352,7 +7346,7 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# _AM_SUBST_NOTMAKE(VARIABLE) # _AM_SUBST_NOTMAKE(VARIABLE)
# --------------------------- # ---------------------------
# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in.
# This macro is traced by Automake. # This macro is traced by Automake.
AC_DEFUN([_AM_SUBST_NOTMAKE]) AC_DEFUN([_AM_SUBST_NOTMAKE])
Vendored
+18 -19
View File
@@ -1,6 +1,6 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for g15daemon 1.9.5.3. # Generated by GNU Autoconf 2.61 for g15daemon 1.9.5.2.
# #
# Report bugs to <mlampard@users.sf.net>. # Report bugs to <mlampard@users.sf.net>.
# #
@@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package. # Identity of this package.
PACKAGE_NAME='g15daemon' PACKAGE_NAME='g15daemon'
PACKAGE_TARNAME='g15daemon' PACKAGE_TARNAME='g15daemon'
PACKAGE_VERSION='1.9.5.3' PACKAGE_VERSION='1.9.5.2'
PACKAGE_STRING='g15daemon 1.9.5.3' PACKAGE_STRING='g15daemon 1.9.5.2'
PACKAGE_BUGREPORT='mlampard@users.sf.net' PACKAGE_BUGREPORT='mlampard@users.sf.net'
ac_default_prefix=/usr 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. # 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. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures g15daemon 1.9.5.3 to adapt to many kinds of systems. \`configure' configures g15daemon 1.9.5.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1472,7 +1472,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of g15daemon 1.9.5.3:";; short | recursive ) echo "Configuration of g15daemon 1.9.5.2:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@@ -1575,7 +1575,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
g15daemon configure 1.9.5.3 g15daemon configure 1.9.5.2
generated by GNU Autoconf 2.61 generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 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 This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by g15daemon $as_me 1.9.5.3, which was It was created by g15daemon $as_me 1.9.5.2, which was
generated by GNU Autoconf 2.61. Invocation command line was generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@ $ $0 $@
@@ -2407,7 +2407,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='g15daemon' PACKAGE='g15daemon'
VERSION='1.9.5.3' VERSION='1.9.5.2'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@@ -22399,7 +22399,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by g15daemon $as_me 1.9.5.3, which was This file was extended by g15daemon $as_me 1.9.5.2, which was
generated by GNU Autoconf 2.61. Invocation command line was generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@@ -22452,7 +22452,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\ ac_cs_version="\\
g15daemon config.status 1.9.5.3 g15daemon config.status 1.9.5.2
configured by $0, generated by GNU Autoconf 2.61, configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -23192,22 +23192,21 @@ echo "$as_me: $ac_file is unchanged" >&6;}
fi fi
rm -f "$tmp/out12" rm -f "$tmp/out12"
# Compute $ac_file's index in $config_headers. # Compute $ac_file's index in $config_headers.
_am_arg=$ac_file
_am_stamp_count=1 _am_stamp_count=1
for _am_header in $config_headers :; do for _am_header in $config_headers :; do
case $_am_header in case $_am_header in
$_am_arg | $_am_arg:* ) $ac_file | $ac_file:* )
break ;; break ;;
* ) * )
_am_stamp_count=`expr $_am_stamp_count + 1` ;; _am_stamp_count=`expr $_am_stamp_count + 1` ;;
esac esac
done done
echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || echo "timestamp for $ac_file" >`$as_dirname -- $ac_file ||
$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$_am_arg" : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)[^/]' \| \
X"$_am_arg" : 'X\(//\)$' \| \ X$ac_file : 'X\(//\)$' \| \
X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || X$ac_file : 'X\(/\)' \| . 2>/dev/null ||
echo X"$_am_arg" | echo X$ac_file |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/ s//\1/
q q
@@ -23244,7 +23243,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. # 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 # 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. # limit of 2048, but all sed's we know have understand at least 4000.
if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then
dirpart=`$as_dirname -- "$mf" || dirpart=`$as_dirname -- "$mf" ||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)[^/]' \| \
+2 -2
View File
@@ -1,10 +1,10 @@
# -*- Autoconf -*- # -*- Autoconf -*-
# Process this file with autoconf to produce a configure script. # Process this file with autoconf to produce a configure script.
# $Revision: 458 $ - $Date: 2008-01-31 15:48:40 +1030 (Thu, 31 Jan 2008) $ $Author: mlampard $ # $Revision: 450 $ - $Date: 2008-01-24 19:59:54 +1030 (Thu, 24 Jan 2008) $ $Author: mlampard $
AC_PREREQ(2.59) AC_PREREQ(2.59)
AC_INIT(g15daemon, [1.9.5.3], [mlampard@users.sf.net]) AC_INIT(g15daemon, [1.9.5.2], [mlampard@users.sf.net])
AC_PREFIX_DEFAULT(/usr) AC_PREFIX_DEFAULT(/usr)
AC_CONFIG_AUX_DIR(config) AC_CONFIG_AUX_DIR(config)
AC_CANONICAL_HOST() AC_CANONICAL_HOST()
-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 g15daemon for Debian
-------------------- --------------------
<possible notes regarding this package - if none, delete this file>
Debian 'xkeyboard-config' package already have support for g15 -- Anthony J. Mirabella <mirabeaj@gmail.com>, Thu, 28 Sep 2006 04:46:06 -0400
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
+85 -127
View File
@@ -1,140 +1,98 @@
g15daemon (1.9.5.3-8) unstable; urgency=low 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.
* Put the third argument (modes) on open with O_CREAT (Closes: #559649) -- Mike Lampard <mlampard@users.sourceforge.net> Sat, 26 Jan 2008 11:36:04 +1030
* remove rpath
-- Giacomo Catenazzi <cate@debian.org> Fri, 18 Dec 2009 07:52:26 +0100 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.3-7) unstable; urgency=low 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.
* Change priority of libg15daemon-client1 from extra to optional g15daemon 1.9.4 edgy; urgency=low
(mumble package needs it) * 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.
-- Giacomo Catenazzi <cate@debian.org> Tue, 01 Sep 2009 19:50:38 +0200 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.5.3-6) unstable; urgency=low 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
* Shared devices (lcd dispaly + audio) are not good handled g15daemon 1.9.1 edgy; urgency=low
by udev script. Adding workaround until improving * BugFix: Plugins are now installed in ${PREFIX}/{${LIBDIR}/g15daemon/${VERSION}/plugins
programs to handle disconnections (Closes: #541780) * Feature: OS-X support thanks to Fabrizio Sestito.
* Add debugging flag (and code) for init.d and udev scripts * Bugfix: libg15daemon_client: keypresses were being corrupted.
* Change syslog facility: from user to daemon * Bugfix: libg15daemon_client: use g15_recv rather than recv.
* better (and more secure) screenshort creation in /tmp * 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.
-- Giacomo Catenazzi <cate@debian.org> Wed, 19 Aug 2009 07:33:22 +0200 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.9.5.3-5) unstable; urgency=low g15daemon (1.2.1-1) breezy; 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
* Initial release * 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 -1
View File
@@ -1 +1 @@
5 4
+12 -20
View File
@@ -1,36 +1,28 @@
Source: g15daemon Source: g15daemon
Section: utils Section: utils
Priority: extra Priority: optional
Maintainer: Giacomo Catenazzi <cate@debian.org> Maintainer: Anthony J. Mirabella <mirabeaj@gmail.com>
Build-Depends: cdbs, debhelper (>= 5), autotools-dev, automake1.9, libtool, chrpath, Build-Depends: debhelper (>= 4.0.0), autotools-dev, libg15-dev, libg15render-dev
libg15-dev, libg15render-dev (>=1.2.0.svn250-2), libusb-dev, libfreetype6-dev Standards-Version: 3.6.2
Standards-Version: 3.8.2
Homepage: http://www.g15tools.com/
Package: g15daemon Package: g15daemon
Section: utils
Architecture: any Architecture: any
Depends: libg15daemon-client1 (=${binary:Version}), ${shlibs:Depends}, ${misc:Depends}, Depends: ${shlibs:Depends}, ${misc:Depends}, libg15daemon-client (= ${Source-Version})
Recommends: xkb-data ( >= 0.9+cvs.20070428-1)
Description: Screen multiplexer for Logitech G15 Keyboard Description: Screen multiplexer for Logitech G15 Keyboard
G15daemon provides multiple virtual screens for the LCD on the Logitech G15daemon provides multiple virtual screens for the LCD on the Logitech
G11 and G15 keyboards. G15 Keyboard
.
This package contain the daemon and a generic client to talk to the
daemon.
Package: libg15daemon-client1 Package: libg15daemon-client
Section: libs Section: libs
Priority: optional
Architecture: any Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends} Depends: ${shlibs:Depends}
Description: Development packages for libg15daemon-client Description: Client library for communicating with g15daemon
Includes the files needed for developing g15daemon clients Provides interface functions for clients that wish to communicate with
a running instance of g15daemon
Package: libg15daemon-client-dev Package: libg15daemon-client-dev
Section: libdevel Section: libdevel
Architecture: any Architecture: any
Depends: libg15daemon-client1 (= ${binary:Version}), ${misc:Depends} Depends: libg15daemon-client (= ${Source-Version})
Description: Development packages for libg15daemon-client Description: Development packages for libg15daemon-client
Includes the files needed for developing g15daemon clients 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 This package was debianized by Anthony J. Mirabella <mirabeaj@gmail.com> on
Mon, 27 Aug 2007 20:00:20 +0200. 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: Copyright Holder: <put author(s) name and email here>
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
License: License:
g15tools is free software; you can redistribute it and/or modify <Put the license of the package here>
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> and
is licensed under the GPL v2 (or later), see `/usr/share/common-licenses/GPL-2'.
-15
View File
@@ -1,15 +0,0 @@
# 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="L1"
# Turn on debugging of g15 init.d and udev scripts
#G15DEBUG="on"
# Additional options that are passed to the Daemon.
DAEMON_OPTS=""
-4
View File
@@ -1,4 +0,0 @@
FAQ
NEWS
README
TODO
-177
View File
@@ -1,177 +0,0 @@
#! /bin/sh
### BEGIN INIT INFO
# Provides: g15daemon
# Required-Start: $syslog $local_fs
# Required-Stop: $syslog $local_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=g15daemon
[ -x "$DAEMON" ] || exit 0
# Include g15daemon defaults if available
if [ -f /etc/default/g15daemon ] ; then
. /etc/default/g15daemon
fi
if [ "$SWITCH_KEY" = "MR" ]; then
DAEMON_OPTS="-s $DAEMON_OPTS"
fi
set -e
if [ "$G15DEBUG" = "on" ]; then
log() {
logger -p daemon.debug -t g15 -- "$*"
}
else
log() {
true
}
fi
wait_for_file() {
local file=$1
local timeout=$2
[ "$timeout" ] || timeout=120
local count=$(($timeout * 10))
while [ $count != 0 ]; do
[ -e "$file" ] && return 0
sleep 0.1
count=$(($count - 1))
done
return 1
}
load_uinput() {
if [ ! -e /dev/input/uinput ] ; then
modprobe -q uinput || true
wait_for_file /dev/input/uinput 3 || return 1
fi
}
wait_usr_mount() {
if [ ! -e "$DAEMON" ] ; then
wait_for_file "$DAEMON" 7 || 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() {
$DAEMON -k
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--oknodo --retry 5 --exec $DAEMON
}
case "$1" in
start)
echo -n "Starting $DESC: "
load_uinput || echo -n ".../dev/input/uinput not found ..."
do_start
echo "$NAME."
;;
stop)
echo -n "Stopping $DESC: "
do_stop
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
is_running && $0 restart || exit 0
;;
restart)
echo -n "Restarting $DESC: "
do_stop
# the device is slow to shut-down
sleep 1
do_start
echo "$NAME."
;;
udev)
log "calling g15 udev; action: $ACTION, product $PRODUCT"
if [ "x$ACTION" = "xadd" ] ; then
load_uinput || true
wait_usr_mount || true
# it seems udev will not release a device if userspace is still
# connected
is_running && ( do_stop; sleep 1 )
do_start
elif [ "x$ACTION" = "xremove" ] ; then
do_stop
else
echo "unknow udev action '$ACTION'"
exit 1
fi
;;
shared-udev)
# some devices share usb also for audio, which causes some spourios
# udev messages.
log "calling g15 shared-dev; action: $ACTION, product $PRODUCT"
if [ "x$ACTION" = "xadd" ] ; then
load_uinput || true
wait_usr_mount || true
do_start
elif [ "x$ACTION" = "xremove" ] ; then
do_stop
else
echo "unknow udev action '$ACTION'"
exit 1
fi
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload|udev}" >&2
exit 1
;;
esac
exit 0
+3 -4
View File
@@ -1,4 +1,3 @@
debian/tmp/usr/sbin/g15daemon usr/sbin usr/sbin/*
debian/tmp/usr/lib/g15daemon/1.9.5.3/plugins/*.so usr/lib/g15daemon/1.9.5.3/plugins/ usr/lib/g15daemon/*/plugins/*
debian/tmp/usr/share/g15daemon/splash/g15logo2.wbmp usr/share/g15daemon/splash/ usr/share/doc/g15daemon*/*
-1
View File
@@ -1 +0,0 @@
Documentation/g15daemon.1
-20
View File
@@ -1,20 +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
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c225", RUN+="/etc/init.d/g15daemon udev"
# Logitech G15 (blue) -- extra keys and LCD
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c222", RUN+="/etc/init.d/g15daemon udev"
# Logitech G15 v2 (orange) -- extra keys and LCD
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c227", RUN+="/etc/init.d/g15daemon shared-udev"
# Logitech Z10 -- extra keys and LCD
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="0a07", RUN+="/etc/init.d/g15daemon udev"
# Logitech G15 Gamepanel -- extra keys and LCD
SYSFS{idVendor}=="046d", SYSFS{idProduct}=="c251", RUN+="/etc/init.d/g15daemon shared-udev"
+6 -5
View File
@@ -1,5 +1,6 @@
debian/tmp/usr/include/* usr/include/ usr/include/*
debian/tmp/usr/lib/lib*.a usr/lib/ usr/lib/lib*.a
debian/tmp/usr/lib/lib*.so usr/lib/ usr/lib/lib*.so
debian/tmp/usr/lib/*.la usr/lib/ usr/lib/pkgconfig/*
usr/lib/*.la
usr/share/pkgconfig/*
-1
View File
@@ -1 +0,0 @@
debian/tmp/usr/lib/lib*.so.* usr/lib/
-1
View File
@@ -1 +0,0 @@
Documentation/g15daemon_client_devel.3
+99 -24
View File
@@ -1,32 +1,107 @@
#!/usr/bin/make -f #!/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.
# for SVN versions # Uncomment this to turn on verbose mode.
AUTOMAKE_REMOVE := Makefile Makefile.in */Makefile */Makefile.in configure aclocal.m4 #export DH_VERBOSE=1
AUTOMAKE_REMOVE += *.lo *.o *.la */*.lo */*.o */*.la
AUTOMAKE_REMOVE += g15daemon/g15daemon g15daemon/g15daemontest
AUTOMAKE_REMOVE += config.status config.log config.h config.h.in config/* libtool stamp-h1
AUTOMAKE_REMOVE += */.libs/
clean::
-rm -Rf debian/docs libg15daemon-client.install
# -rm -Rf $(AUTOMAKE_REMOVE)
#makebuilddir:: Makefile
#Makefile:: Makefile.am autogen.sh # These are used for cross-compiling and for saving the configure script
# [ -d config ] || mkdir config # from having to guess our platform (since we know it already)
# aclocal -I config DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
# libtoolize --automake --force --copy DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
# 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 --disable-rpath CFLAGS = -Wall -g
install/libg15daemon-client1:: ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
chrpath --delete $(DEB_DESTDIR)/usr/lib/libg15daemon_client.so.1.0.2 $(DEB_DESTDIR)/usr/lib/g15daemon/1.9.5.3/plugins/*.so $(DEB_DESTDIR)/usr/sbin/g15daemon 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
-7
View File
@@ -1,7 +0,0 @@
# See uscan(1) for format
# Compulsory line, this is a version 3 file
version=3
http://sf.net/g15daemon/g15daemon-([1-9].*)\.tar\.gz
+12 -11
View File
@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.10.1 from Makefile.am. # Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # 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_OBJECTS = $(am_g15daemontest_OBJECTS)
g15daemontest_DEPENDENCIES = \ g15daemontest_DEPENDENCIES = \
$(top_builddir)/libg15daemon_client/libg15daemon_client.la $(top_builddir)/libg15daemon_client/libg15daemon_client.la
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/config/depcomp depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -256,8 +256,8 @@ install-sbinPROGRAMS: $(sbin_PROGRAMS)
|| test -f $$p1 \ || test -f $$p1 \
; then \ ; then \
f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(sbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(sbindir)/$$f'"; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --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; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(sbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(sbindir)/$$f" || exit 1; \
else :; fi; \ else :; fi; \
done done
@@ -343,8 +343,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS tags: TAGS
@@ -356,8 +356,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \ test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -367,12 +367,13 @@ ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \ test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique $$tags $$unique
+7 -16
View File
@@ -17,7 +17,7 @@
(c) 2006-2008 Mike Lampard, Philip Lawatsch, and others (c) 2006-2008 Mike Lampard, Philip Lawatsch, and others
$Revision: 457 $ - $Date: 2008-01-31 15:32:46 +1030 (Thu, 31 Jan 2008) $ $Author: mlampard $ $Revision: 452 $ - $Date: 2008-01-25 16:04:31 +1030 (Fri, 25 Jan 2008) $ $Author: mlampard $
This daemon listens on localhost port 15550 for client connections, This daemon listens on localhost port 15550 for client connections,
and arbitrates LCD display. Allows for multiple simultaneous clients. and arbitrates LCD display. Allows for multiple simultaneous clients.
@@ -54,7 +54,6 @@ int keyboard_backlight_off_onexit = 0;
unsigned int g15daemon_debug = 0; unsigned int g15daemon_debug = 0;
unsigned int cycle_key; unsigned int cycle_key;
unsigned int client_handles_keys = 0; unsigned int client_handles_keys = 0;
static unsigned int set_backlight = 0;
struct lcd_t *keyhandler = NULL; struct lcd_t *keyhandler = NULL;
static int loaded_plugins = 0; static int loaded_plugins = 0;
@@ -89,7 +88,7 @@ int g15daemon_send_event(void *caller, unsigned int event, unsigned long value)
g15daemon_log(LOG_WARNING,"Error in send: %s\n",strerror(errno)); 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 if(value & G15_KEY_LIGHT){ // the backlight key was pressed - maintain user-selected state
lcd_t *displaying = lcd->masterlist->current->lcd; lcd_t *displaying = lcd->masterlist->tail->lcd;
lcd->masterlist->kb_backlight_state++; lcd->masterlist->kb_backlight_state++;
lcd->masterlist->kb_backlight_state %= 3; lcd->masterlist->kb_backlight_state %= 3;
displaying->backlight_state++; displaying->backlight_state++;
@@ -247,13 +246,10 @@ static void *lcd_draw_thread(void *lcdlist){
uf_write_buf_to_g15(displaying); uf_write_buf_to_g15(displaying);
g15daemon_log(LOG_DEBUG,"LCD Update Complete"); g15daemon_log(LOG_DEBUG,"LCD Update Complete");
if(prev_state!=displaying->backlight_state && set_backlight!=0) { if(prev_state!=displaying->backlight_state) {
prev_state=displaying->backlight_state; prev_state=displaying->backlight_state;
pthread_mutex_lock(&g15lib_mutex); pthread_mutex_lock(&g15lib_mutex);
setLCDBrightness(displaying->backlight_state); setLCDBrightness(displaying->backlight_state);
usleep(5);
setLCDBrightness(displaying->backlight_state);
setKBBrightness(displaying->backlight_state);
pthread_mutex_unlock(&g15lib_mutex); pthread_mutex_unlock(&g15lib_mutex);
} }
@@ -363,14 +359,13 @@ int main (int argc, char *argv[])
if (!strncmp(daemonargs, "-h",2) || !strncmp(daemonargs, "--help",6)) { 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("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\twill 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 will kill a previous incarnation",argv[0]);
#ifdef LIBG15_VERSION #ifdef LIBG15_VERSION
#if LIBG15_VERSION >= 1200 #if LIBG15_VERSION >= 1200
printf("\n -K\tturn off the keyboard backlight on the way out."); printf(", if uppercase -K or -KILL turn off the keyboard backlight on the way out.");
#endif #endif
#endif #endif
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("\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(" --set-backlight sets backlight individually for currently shown screen.\n\t\tDefault is to set backlight globally (keyboard default).\n");
exit(0); exit(0);
} }
@@ -379,10 +374,6 @@ int main (int argc, char *argv[])
cycle_cmdline_override=1; cycle_cmdline_override=1;
} }
if (!strncmp(daemonargs, "--set-backlight",15)) {
set_backlight = 1;
}
if (!strncmp(daemonargs, "-d",2) || !strncmp(daemonargs, "--debug",7)) { if (!strncmp(daemonargs, "-d",2) || !strncmp(daemonargs, "--debug",7)) {
g15daemon_debug = 1; g15daemon_debug = 1;
if((argv[i+1])!=NULL) if((argv[i+1])!=NULL)
@@ -456,7 +447,7 @@ int main (int argc, char *argv[])
struct passwd *nobody; struct passwd *nobody;
unsigned char location[1024]; unsigned char location[1024];
openlog("g15daemon", LOG_PID, LOG_DAEMON); openlog("g15daemon", LOG_PID, LOG_USER);
if(strlen((char*)user)==0){ if(strlen((char*)user)==0){
nobody = getpwnam("nobody"); nobody = getpwnam("nobody");
}else { }else {
+2 -16
View File
@@ -356,7 +356,7 @@ int uf_conf_write(g15daemon_t *list,char *filename)
config_items_t * item=NULL; config_items_t * item=NULL;
char line[1024]; char line[1024];
config_fd = open(filename,O_CREAT|O_RDWR|O_TRUNC, 0644); config_fd = open(filename,O_CREAT|O_RDWR|O_TRUNC);
if(config_fd){ 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"); 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)); write(config_fd,line,strlen(line));
@@ -666,24 +666,12 @@ int uf_conf_open(g15daemon_t *list, char *filename) {
} }
int uf_screendump_pbm(unsigned char *buffer,char *filename) { int uf_screendump_pbm(unsigned char *buffer,char *filename) {
int fd;
FILE *f; FILE *f;
int x,y; int x,y;
#define WIDTH 40 #define WIDTH 40
g15canvas *canvas=g15daemon_xmalloc(sizeof(g15canvas)); g15canvas *canvas=g15daemon_xmalloc(sizeof(g15canvas));
memcpy(canvas->buffer,buffer,LCD_BUFSIZE); memcpy(canvas->buffer,buffer,LCD_BUFSIZE);
fd = open(filename, O_CREAT|O_EXCL|O_WRONLY, S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH); f = fopen(filename,"w+");
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,"P1\n160 43\n");
fprintf(f,"# G15 screendump - %s\n\n",filename); fprintf(f,"# G15 screendump - %s\n\n",filename);
for(y=0;y<43;y++) for(y=0;y<43;y++)
@@ -694,8 +682,6 @@ int uf_screendump_pbm(unsigned char *buffer,char *filename) {
} }
fclose(f); fclose(f);
fsync(fd);
close(fd);
free(canvas); free(canvas);
return 0; return 0;
} }
+14 -13
View File
@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.10.1 from Makefile.am. # Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # 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) \ libg15daemon_client_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(libg15daemon_client_la_LDFLAGS) $(LDFLAGS) -o $@ $(libg15daemon_client_la_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/config/depcomp depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -234,8 +234,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \ if test -f $$p; then \
f=$(am__strip_dir) \ f=$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ echo " $(LIBTOOL) --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"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
else :; fi; \ else :; fi; \
done done
@@ -243,8 +243,8 @@ uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \ p=$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
done done
clean-libLTLIBRARIES: clean-libLTLIBRARIES:
@@ -315,8 +315,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS tags: TAGS
@@ -328,8 +328,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \ test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -339,12 +339,13 @@ ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \ test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique $$tags $$unique
+14 -13
View File
@@ -1,8 +1,8 @@
# Makefile.in generated by automake 1.10.1 from Makefile.am. # Makefile.in generated by automake 1.10 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # 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 $@ $(g15plugin_uinput_la_LDFLAGS) $(LDFLAGS) -o $@
@UINPUT_INTERFACE_PLUGIN_TRUE@am_g15plugin_uinput_la_rpath = -rpath \ @UINPUT_INTERFACE_PLUGIN_TRUE@am_g15plugin_uinput_la_rpath = -rpath \
@UINPUT_INTERFACE_PLUGIN_TRUE@ $(libdir) @UINPUT_INTERFACE_PLUGIN_TRUE@ $(libdir)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/config/depcomp depcomp = $(SHELL) $(top_srcdir)/config/depcomp
am__depfiles_maybe = depfiles am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
@@ -256,8 +256,8 @@ install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \ if test -f $$p; then \
f=$(am__strip_dir) \ f=$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ echo " $(LIBTOOL) --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"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
else :; fi; \ else :; fi; \
done done
@@ -265,8 +265,8 @@ uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \ @list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \ p=$(am__strip_dir) \
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
done done
clean-libLTLIBRARIES: clean-libLTLIBRARIES:
@@ -326,8 +326,8 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { for (i in files) print i; }'`; \
mkid -fID $$unique mkid -fID $$unique
tags: TAGS tags: TAGS
@@ -339,8 +339,8 @@ TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \ test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
@@ -350,12 +350,13 @@ ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP) $(TAGS_FILES) $(LISP)
tags=; \ tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \ unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \ done | \
$(AWK) '{ files[$$0] = 1; nonempty = 1; } \ $(AWK) ' { files[$$0] = 1; } \
END { if (nonempty) { for (i in files) print i; }; }'`; \ END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \ test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique $$tags $$unique
+2 -2
View File
@@ -17,7 +17,7 @@
(c) 2006-2008 Mike Lampard, Philip Lawatsch, and others (c) 2006-2008 Mike Lampard, Philip Lawatsch, and others
$Revision: 456 $ - $Date: 2008-01-28 16:35:31 +1030 (Mon, 28 Jan 2008) $ $Author: mlampard $ $Revision: 451 $ - $Date: 2008-01-25 15:15:04 +1030 (Fri, 25 Jan 2008) $ $Author: mlampard $
This daemon listens on localhost port 15550 for client connections, This daemon listens on localhost port 15550 for client connections,
and arbitrates LCD display. Allows for multiple simultaneous clients. 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); 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 || pfd[0].revents & POLLPRI)) { else if(pfd[0].revents & POLLIN && !(pfd[0].revents & POLLERR || pfd[0].revents & POLLHUP || pfd[0].revents & POLLNVAL)) {
retval = recv(sock, buf+total, bytesleft, 0); retval = recv(sock, buf+total, bytesleft, 0);
if (retval < 1) { if (retval < 1) {
+2 -2
View File
@@ -3,11 +3,11 @@
%define prefix /usr %define prefix /usr
Summary: Daemon to control logitech G15 keyboards Summary: Daemon to control logitech G15 keyboards
Name: g15daemon Name: g15daemon
Version: 1.9.5.3 Version: 1.9.5.2
Release: 1 Release: 1
Copyright: GPL Copyright: GPL
Group: Applications/System Group: Applications/System
Source: ftp://prdownloads.sf.net/g15daemon-1.9.5.3.tar.bz2 Source: ftp://prdownloads.sf.net/g15daemon-1.9.5.2.tar.bz2
URL: http://g15daemon.sf.net URL: http://g15daemon.sf.net
Distribution: Linux Distribution: Linux
Vendor: NONE Vendor: NONE