#!/bin/bash
# $Id$

### BEGIN INIT INFO
# Provides:          keyfuzz
# Required-Start:    $local_fs $network
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: keyfuzz init script
# Description:       keyfuzz init script that loads keymappings from files by id or event
### END INIT INFO

# This file is part of keyfuzz.
#
# keyfuzz is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free
# Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#
# keyfuzz is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU General Public License
# along with keyfuzz; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.

KEYFUZZ="/usr/sbin/keyfuzz"
test -x "$KEYFUZZ" || exit 0

if [ `id -u` != "0" ] && [ "$1" = "start" -o "$1" = "stop" ] ; then
  echo "You must be root to run keyfuzz."
  exit 1
fi

case "$1" in
    start|reload|force-reload|restart)
        echo -n "Loading input layer scancode tables: "
        cd "/etc/keyfuzz"
        none=1
        for E in event? ; do 
            if test -r "$E" ; then
                "$KEYFUZZ" -s -d "$E" < "$E"
                echo -n "$E "
                none=0
            fi
        done

        for D in by-id/* ; do
            if test -r "$D" ; then
                "$KEYFUZZ" -s -d /dev/input/"$D" < "$D"
            echo -n "$D "
            none=0
            fi
        done

        if [ "$none" -eq 1 ] ; then
            echo -n "not configured"
        fi

        echo
        ;;

    stop)
        ;;

    *)
        echo "Usage: $0 {start|stop|restart|reload|force-reload}"
        exit 1
esac

exit 0
