Compare commits

..
Author SHA1 Message Date
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
3 changed files with 100 additions and 35 deletions

No files matched your search

+11
View File
@@ -1,3 +1,14 @@
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 g15daemon (1.9.5.3-4) unstable; urgency=low
* Try to load uinput module, in order to have Gx key working * Try to load uinput module, in order to have Gx key working
+68 -35
View File
@@ -6,6 +6,7 @@
# Required-Stop: $local_fs # Required-Stop: $local_fs
# Should-Start: $remote_fs # Should-Start: $remote_fs
# Should-Stop: $remote_fs # Should-Stop: $remote_fs
# X-Start-Before: xdm kdm gdm ldm sdm
# Default-Start: 2 3 4 5 # Default-Start: 2 3 4 5
# Default-Stop: 0 1 6 # Default-Stop: 0 1 6
# Short-Description: load deamon for Logitech G15 keyboard lcd display # Short-Description: load deamon for Logitech G15 keyboard lcd display
@@ -18,7 +19,7 @@ DAEMON=/usr/sbin/g15daemon
NAME=g15daemon NAME=g15daemon
DESC=g15daemon DESC=g15daemon
test -x $DAEMON || exit 0 [ -x "$DAEMON" ] || exit 0
# Include g15daemon defaults if available # Include g15daemon defaults if available
if [ -f /etc/default/g15daemon ] ; then if [ -f /etc/default/g15daemon ] ; then
@@ -32,39 +33,60 @@ fi
set -e set -e
load_uinput () { wait_for_file() {
DEVICE=/dev/input/uinput local file=$1
DEV=".none." local timeout=$2
if [ ! -e "$DEVICE" ] ; then [ "$timeout" ] || timeout=120
modprobe -q uinput || true
for i in `seq 80`; do local count=$(($timeout * 10))
if [ -e "$DEVICE" ]; then while [ $count != 0 ]; do
DEV="$DEVICE" [ -e "$file" ] && return 0
break sleep 0.1
fi count=$(($count - 1))
echo -n "."
sleep 0.1
done done
if [ "$DEV" = ".none." ]; then return 1
echo -n "Warning: uinput ($DEVICE) doesn't exist. The G-keys are unsupported..." }
fi
load_uinput() {
if [ ! -e /dev/input/uinput ] ; then
modprobe -q uinput || true
wait_for_file /dev/input/uinput 3 || return 1
fi 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 case "$1" in
start) start)
echo -n "Starting $DESC: " echo -n "Starting $DESC: "
load_uinput load_uinput || echo -n ".../dev/input/uinput not found ..."
start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ do_start
--exec $DAEMON -- $DAEMON_OPTS
echo "$NAME." echo "$NAME."
;; ;;
stop) stop)
echo -n "Stopping $DESC: " echo -n "Stopping $DESC: "
$DAEMON -k do_stop
start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid \
--oknodo --retry 5 --exec $DAEMON
echo "$NAME." echo "$NAME."
;; ;;
#reload) #reload)
@@ -78,7 +100,7 @@ case "$1" in
# echo "Reloading $DESC configuration files." # echo "Reloading $DESC configuration files."
# start-stop-daemon --stop --signal 1 --quiet --pidfile \ # start-stop-daemon --stop --signal 1 --quiet --pidfile \
# /var/run/$NAME.pid --exec $DAEMON # /var/run/$NAME.pid --exec $DAEMON
#;; #;;
force-reload) force-reload)
# #
# If the "reload" option is implemented, move the "force-reload" # If the "reload" option is implemented, move the "force-reload"
@@ -86,24 +108,35 @@ case "$1" in
# just the same as "restart" except that it does nothing if the # just the same as "restart" except that it does nothing if the
# daemon isn't already running. # daemon isn't already running.
# check wether $DAEMON is running. If so, restart # check wether $DAEMON is running. If so, restart
start-stop-daemon --stop --test --quiet --pidfile \ is_running && $0 restart || exit 0
/var/run/$NAME.pid --exec $DAEMON \ ;;
&& $0 restart \
|| exit 0
;;
restart) restart)
echo -n "Restarting $DESC: " echo -n "Restarting $DESC: "
start-stop-daemon --stop --quiet --pidfile \ do_stop
/var/run/$NAME.pid --exec $DAEMON # the device is slow to shut-down
sleep 1 sleep 0.5
start-stop-daemon --start --quiet --pidfile \ do_start
/var/run/$NAME.pid --exec $DAEMON -- $DAEMON_OPTS
echo "$NAME." echo "$NAME."
;; ;;
udev)
if [ "x$ACTION" = "xadd" ] ; then
load_uinput || true
wait_usr_mount || true
# it seems udev will not release a device if userspace is still
# connected
is_running && ( do_stop; sleep 0.5 )
do_start
elif [ "x$ACTION" = "xremove" ] ; then
do_stop
else
echo "unknow udev action '$ACTION'"
exit 1
fi
;;
*) *)
N=/etc/init.d/$NAME N=/etc/init.d/$NAME
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $N {start|stop|restart|force-reload|udev}" >&2
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1 exit 1
;; ;;
esac esac
+21
View File
@@ -0,0 +1,21 @@
# 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 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 udev"