119 lines
5.8 KiB
Plaintext
119 lines
5.8 KiB
Plaintext
/*
|
|
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: 343 $ - $Date: 2007-12-18 06:26:28 +0100 (Tue, 18 Dec 2007) $ $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.5svn -> current
|
|
- 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.
|
|
1.9.0
|
|
- Add plugin API
|
|
- partially rewritten event core
|
|
- updated g15daemon_xmms_spectrum plugin with new features, available in trunk/g15daemon_audio_plugins (SVN)
|
|
- Clock is now a plugin
|
|
- dependency on libdaemon is now removed
|
|
- g15daemon is now dependant on libg15render.
|
|
- Clock now includes analog clock thanks to Rasta Freak <igor.jusic@zg.t-com.hr>
|
|
- Moved g15daemon_xmms_spectrum plugin to separate package
|
|
1.9.1
|
|
- Plugins are now installed in ${PREFIX}/{${LIBDIR}/g15daemon/${VERSION}/plugins
|
|
- OS-X support thanks to Fabrizio Sestito.
|
|
- Bugfix: libg15daemon_client: keypresses were being corrupted.
|
|
- Bugfix: libg15daemon_client: use g15_recv rather than recv.
|
|
- 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.
|
|
1.9.1->SVN
|
|
- Add exitfunc to net plugin for exit notification.
|
|
- Use pause() instead of sleeping
|
|
- create leaving var as volatile.
|
|
- 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.
|