/*
    This file is part of g15daemon.

    g15daemon 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.

    g15daemon 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 g15daemon; if not, write to the Free Software
    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
    
    (c) 2006 Mike Lampard, Philip Lawatsch, and others
    
    $Revision: 137 $ -  $Date: 2006-11-14 18:04:50 +1030 (Tue, 14 Nov 2006) $ $Author: mlampard $

    This daemon listens on localhost port 15550 for client connections,
    and arbitrates LCD display.  Allows for multiple simultaneous clients.
    Client screens can be cycled through by pressing the 'L1' key.
*/

Version 1.0-pre0
- Initial release
1.1 21/07/2006
- Add WBMP support and Perl bindings.
1.2 31/07/2006
** IMPORTANT NOTE **
This release has changed the LCD screen switch function to the MR key to
allow clients use of all 'L' keys.
**
- reduce per-thread stack usage - default was 8Mb on i386 linux.  now 256k
  this makes top output look much nicer ;)
- optimize lcd buffer path, removing a conversion step. and reducing the
  buffer size from 7k to 1k
- misc other memory optimisations.
- added python bindings (thanks muhgatus)
- added ability for lcd clients to receive L G & M key keypresses directly
- moved lcd display/client switch from L1 to MR
- MR key is now backlit when clients are attached.
- Added ability for lcd clients to change backlight brightness
- Added ability for lcd clients to toggle M-key LEDs
- Added libG15Render client support.
- Added ability for hidden lcd clients to bring themselves to the foreground
- clients change only their own backlight/mkey led status
1.2.1 06/08/2006
- Fix bug which could cause client screens to be lost under certain circumstances.
1.2.2 28/10/2006
- Vastly improve latency issues when using 'G' keys
- Documentation updates
- includes xkb patch for xorg 7.1 for native g15 keyboard layout in X11 (contrib directory)
1.2.3 30/10/2006
- improved the Xmodmaprc configuration, it now has parity with the xkb version
1.2.4 01/11/2006
- Users can now choose to use the L1 key to switch between client screens instead of MR. 
  - L1 is the small round black button directly below the LCD.
  - Use -s on the commandline to activate the change.
1.2.5 05/11/2006
- Add ability for clients to request all M and G keypresses be 'pushed' to them,
  rather than having to request them repeatedly.  If a client uses this
  option, no keyboard processing is done by the daemon, and the client must
  be prepared to do uinput processing itself, if necessary.  This limitation
  may be removed in future versions of the API.  Normal processing will
  resume when the client that requested this feature exits or closes its
  connection.
- Add manpage for the daemon.
- Fix automake bug that caused documentation not to be installed by default.
- Fix the daemons cmdline processing to handle more than one commandline option.
- Refactored the code slightly to allow for easier modification in the future.
- Handle long commandline arguments such as --help --version --kill --switch.
- Greatly improve error reporting.
- Add client development documentation (man g15daemon_client_devel / README.client_devel)
- Added a 'debug' mode (-d or --debug) cmdline switch to keep the daemon in the foreground
  rather than daemonising.  All errors and other info will be reported to STDERR in this mode.
- If compiled with libg15 1.1.0 or greater (or svn versions later than 3/11/06), the daemon 
  will now reset the keyboard to defaults on exit.
- make distcheck && make dist now work as expected.
- libg15daemon_client is now slightly more useful
- debian packaging now installs manpages
1.2.6
- Add compiletime check for uinput version, should resolve compilation problems on some distro's
- Security improved - the daemon now sets its effective uid to nobody as soon as possible.
- Add /dev/misc/ to the list of possible locations for the uinput device
- keyboard thread is now realtime
1.2.6a
- Remove realtime thread creation.  it may be causing issues with some
  installations.
- Further improvements to debug output
