1999-05-16 Marcus Sundberg [marcus@ggi-project.org]

	* input/linux_joy/input.c, input/linux_kbd/input.c, input/mouse/packetparse.c:
	Don't set ev->target in inputlibs - _giiEventBlank() does that.

	* input/linux_kbd/input.c:
	Fixed BackSpace/Delete mappings.
	Made PrintScreen work.
	Added support for Win95 keyboards.

	* input/pcjoy/input.c:
	Synced with rest of LibGII.

	* NEWS:
	Added in todays input-linux-kbd changes.

1999-05-15 Marcus Sundberg [marcus@ggi-project.org]

	* demos/demo.c:
	Inputs need to be explicitly closed before exiting a program.

	* doc/libgii-api.sgml, man/*:
	Removed giiGetSelectFdset. Fixed typos.

	* INSTALL, README, doc/env.txt:
	Doc updates.

1999-05-14 Marcus Sundberg [marcus@ggi-project.org]

	* configure.in, gg/Makefile.am, gii/Makefile.am:
	Upped version numbers to 0.6.

	* doc/inputs.txt:
	Removed reference to 'file' protocol for input-linux-mouse.

	* INSTALL, README, doc/env.txt:
	Doc updates.

	* NEWS:
	Added news for 0.6.

1999-05-13 Marcus Sundberg [marcus@ggi-project.org]

	* input/linux_mouse/input.c:
	Cleaned up setting/restoring of serial parameters.
	Don't free() inp->priv twice when opening input-mouse fails.

	* input/mouse/input.c:
	We don't have to fail when writing the init sequence for all mouse
	types.

1999-05-12 Marcus Sundberg [marcus@ggi-project.org]

	* input/linux_kbd/input.c:
	When pressing dead<foo>+space we should produce a <foo> sym.

1999-05-11 Marcus Sundberg [marcus@ggi-project.org]

	* gii/dl.c:
	Make sure we don't pass NULL pointers as strings to DPRINT.

1999-05-10 Marcus Sundberg [marcus@ggi-project.org]

	* demos/mhub.c:
	Fixed a bug in the button remapping code.

	* input/linux_mouse/input.c:
	The gpm repeater seems to be named /dev/gpmdata, not /dev/gpm.
	To be safe, simply match /dev/gpm*.
	
1999-05-09 Marcus Sundberg [marcus@ggi-project.org]

	* doc/inputs.txt:
	Updated info about input-linux-mouse and fixed a small typo.

	* input/x/input.c, input/xwin/input.c:
	Casting structs doesn't work on all compilers.

1999-05-04 Marcus Sundberg [marcus@ggi-project.org]

	* gii/unix.c:
	In giiEventSelect():
	+ select() on the FDs even if we have a GII event.
	+ Only clear readfds once.
	+ Clear *mask when returning because of no fds selectable.
	+ Properly handle user passed/GII fds.

	* include/errors.h:
	Added GGI_EBADFILE and GGI_ENOSPACE.

1999-04-30 Marcus Sundberg [marcus@ggi-project.org]

	* configure.in:
	We need to check for sigaction, but not for sigprocmask.
	Added check for _exit().

	* gg/cleanup.c:
	Use sigaction() instead of signal() if it is available.
	Call unregister_sighandler() in the right place when we don't
	have any functions registered.

	* gg/cleanup.c, include/ggi/gg.h:
	Added new function ggCleanupForceExit(). It's primary use is for
	sublibs which are linked to code that does atexit() or similiar.

1999-04-22 Marcus Sundberg [marcus@ggi-project.org]

	* gii/gii.c, include/ggi/events.h:
	Implemented GII_EV_TARGET_QUEUE.

	* gii/gii.c, gii/init.c, gii/unix.c, include/ggi/gii.h, include/ggi/internal/gii.h:
	Implemented locking of event queues and interruption of	giiEventPoll()
	when giiEventSend() is called from another thread.

1999-04-21 Andreas Beck [becka@ggi-project.org]

	* input/linux_joy/input.c:
	Correctly set up the number of axis in the registered devinfo.

	* gii/gii.c, include/ggi/gii.h:
	Added giiQueryDeviceInfoByNumber(). Fixed small glitch in 
	giiQueryValInfo() when called with illegal values.

1999-04-12 Marcus Sundberg [marcus@ggi-project.org]

	* input/linux_kbd/linkey.c:
	K_DCEDIL does not exist in older kernels.

1999-04-01 Marcus Sundberg [marcus@ggi-project.org]

	* NEWS:
	Added list of user-visible changes.

	* README, INSTALL:
	Updated docs for the release.

	* configure.in:
	The confdir now defaults to PREFIX/etc/ggi instead of /etc/ggi.

	* gii/unix.c:
	giiEventSelect(): now accepts NULL fd_sets like select does.
	giiEventSelect(): does not return fds which were not reported readable

	* libgii.conf.in:
	Use @gii_libdir@ instead of @prefix@/lib in .root

1999-03-31 Marcus Sundberg [marcus@ggi-project.org]

	* configure.in, */Makefile.am:
	Added proper support for 'make dist'.

1999-03-30 Marcus Sundberg [marcus@ggi-project.org]

	* configure.in, gg/Makefile.am, gii/Makefile.am:
	Upped version numbers to 0.5.

	* ltconfig:
	Fixed Solaris bug and added some sane default values.

	* demos/Makefile.am:
	Make sure the linker finds LibGG.

	* input/x/xev.c:
	XK_dead_belowdot doesn't exist on all systems.

1999-03-28 Marcus Sundberg [marcus@ggi-project.org]

	* input/linux_kbd/input.c, input/mouse/packetparse.c:
	Don't queue unwanted events.

1999-03-27 Marcus Sundberg [marcus@ggi-project.org]

	* libtool.m4:
	Macro definitions from libtool, ship with LibGII so developers and
	CVS users don't have to have latest libtool version installed.

	* ltconfig, ltmain.sh:
	Updated from current libtool CVS.

	* input/x/input.c, input/xwin/input.c
	include string.h for memset().

1999-03-24 Marcus Sundberg [marcus@ggi-project.org]

	* include/ggi/errors.h:
	Added GGI_EEXCLUSIVE.

	* include/ggi/gg.h:
	Removed Acquire/Release stuff.

1999-03-23 Marcus Sundberg [marcus@ggi-project.org]

	* input/xwin/input.c:
	Make sure priv->cursor is initialized properly.
	Fixed bug when setting inp->devinfo.

1999-03-20 Andreas Beck [becka@ggi-project.org]

	* *:
        Added devinfo querying functions.

1999-03-17 Andreas Beck [becka@ggi-project.org]

	* demos/filter.c, filter/mouse/filter.c, filter/save/filter.c, gii/gii.c, gii/init.c, include/ggi/gii.h, include/ggi/internal/gii.h, input/mouse/input.c:
	Unified Filter/Input handling.
	
1999-03-13 Andreas Beck [becka@ggi-project.org]

	* demos/demo.c, filter/mouse/filter.c, gii/gii.c, include/ggi/gii.h, include/ggi/internal/gii.h, input/xwin/input.c:
	Prepared a few thing for filter handling and devinfo querying.

1999-03-11 Marcus Sundberg [marcus@ggi-project.org]

	* gii/gii.c:
	Added _giiPeekEvent() and _giiDeleteEvent().
	Removed _giiPushBackEvent().
	Small optimization in _giiGetEvent().

	* include/ggi/keyboard.h:
	Added dead keys.

	* input/linux_kbd/*.c:
	Added support for dead keys.
	Use cached sym and label instead of making syscalls when sym is not
	a modifier (which may be locked).

	* input/x/*, input/xwin/input.c:
	Added support for dead keys.
	(Later) Fixed dead keys to handle repeat properly.

1999-03-11 Andreas Beck [becka@ggi-project.org]

	* include/ggi/gg.h:
	Added resource stuff.

	* filter/mouse/filter.c:
	Mouse acceleration added to mouse filter.

1999-03-09 Marcus Sundberg [marcus@ggi-project.org]

	* gg/conf.c:
	If .root is not found in a config file we use the .root from the
	level above it.

	* configure.in, input/linux_kbd/input.c:
	Use sys/kd.h and sys/vt.h instead of their linux/* counterparts if
	available.

1999-03-06 Marcus Sundberg [marcus@ggi-project.org]

	* input/linux_kbd/input.c:
	Fixed LEDs to work when running on our own console too.
	Try to detect when we're a background process on a tty, and fail
	instead of blocking infinitely.

1999-03-05 Marcus Sundberg [marcus@ggi-project.org]

	* acconfig.h, configure.in:
	Added GIICONFDIR #define

	* configure.in:
	Added check for readlink()

	* gii/Makefile.am:
	Added ${top_srcdir}/gg to include dirs for plat.h.

	* gii/init.c, include/ggi/gii.h:
	New giiGetConfDir() function.

	* input/linux_mouse/input.c:
	Removed "file" pseudo-protocol and improved the "auto" pseudo-protocol.
	We now try to read first ~/.ggi/input/linux-mouse and then
	$gii_confdir/input/linux-mouse.

	* demos/mhub.1:
	Added info about how to select the "default device".

	* input/fdselect/input.c:
	Some minor cleanups.

1999-03-05 Andreas Beck [becka@ggi-project.org]

	* input/fdselect/*:
	Added preliminary fdselect target. Completely untested. Don't include
	in build system yet !

1999-03-02 Marcus Sundberg [marcus@ggi-project.org]

	* gg/plat.h:
	AM_SYS_SYMBOL_UNDERSCORE doesn't work on OpenBSD - hardcode it.

	* input/*/Makefile.am, filter/*/Makefile.am:
	Always link against gg when we link against gii.

	* acinclude.m4:
	Use $extra_includes in CPPFLAGS.

	* configure.in:
	Rearranged some options so the important ones are more visible.

	* ltconfig:
	Default deplibs_check_method to 'pass_all.'

1999-03-01 Marcus Sundberg [marcus@ggi-project.org]

	* include/ggi/errors.h:
	Added GGI_EFATAL.

1999-02-28 Marcus Sundberg [marcus@ggi-project.org]

	* input/demos/filter.c:
	Fixed warning on 64-bit systems.

1999-02-25 Marcus Sundberg [marcus@ggi-project.org]

	* Makefile.am:
	Do 'include' subdir first, as the libs depend on system.h.

	* input/linux_kbd/Makefile.am, input/linux_mouse/Makefile.am, input/stdin/Makefile.am, input/xwin/Makefile.am:
	Explicitly link with LibGG when we use it.

	* gg/dl.c:
	Fixed up error message when loading a module fails.

	* gg/parse.c, include/ggi/gg.h:
	First argument to ggParseOptions() should be const char pointer.

1999-02-24 Marcus Sundberg [marcus@ggi-project.org]

	* gii/gii.c:
	Initialize ret->filters to NULL in _giiInputAlloc().
	Update the cache when calling giiJoinInputs() with one arg == NULL.

1999-02-23 Andrew Apted [andrew@ggi-project.org]

	* input/file/input.c
	Made the timing "more exact" (if one can say that :->).

1999-02-22 Marcus Sundberg [marcus@ggi-project.org]

	* gg/cleanup.c:
	Catch more signals.

	* gii/gii.c:
	Match (event->any.target&0x100) instead of just event->any.target
	when deciding if an inputlib should have a sent event.

	* gii/unix.c:
	Handle errors (in particular EINTR) in select() properly.

	* include/ggi/events.h:
	Changed num_buttons and num_axes in getdevinfo struct to uint32.

	* input/x/input.c:
	Added proper devinfo reporting. Fixed bug with pointer movement events.

	* input/linux_mouse/input.c:
	Open with O_NONBLOCK - we don't want to end up blocking here.

	* input/*/input.c:
	Added proper devinfo reporting.

1999-02-21 Marcus Sundberg [marcus@ggi-project.org]

	* include/ggi/events.h:
	Added GII_CMDFLAG_EXTERNAL.

	* include/ggi/gii.h:
	Fixed up prototypes a bit.

	* gii/gii.c, gii/init.c, gii/unix.c, include/ggi/internal/gii.h:
	Implemented a special thread and async-signal safe queue, in which
	events can be queued from signal handlers.
	Optimized event queue/dequeue operations a bit.
	Changed _giiEventBlank() to take a size argument.

	* include/ggi/internal/gii-dl.h:
	Don't duplicate _giiEventBlank() prototype.

	* input/*/*.c, filter/mouse/filter.c:
	Updated for new _giiEventBlank().

	* gg/dl.c, gg/plat.h:
	Print error message when we can't open a module.

	* configure.in:
	Check for sigprocmask.

	* demos/filter.c:
	Updated for new filter system.

1999-02-20 Marcus Sundberg [marcus@ggi-project.org]

	* */*:
	Implemented new filter system.
	Optimized inputlibs to make use of the new "arg" argument to GIIpoll.
	Support opening multiple input sources with a single giiOpen() call.

	* gg/parse.c, include/ggi/gg.h:
	Made first argument to ggParseTarget() const char *.
	
	* input/xwin/input.c:
	Fixed a bug with relmouse handling.

	* configure.in, libgii.conf.in, input/Makefile.am, input/file/*:
	New inputlib which reads events saved by filter-save.
	
	* libgii/include/ggi/internal/gii_debug.h:
	Don't put double colons after "LibGII".
	
1999-02-19 Marcus Sundberg [marcus@ggi-project.org]

	* gii/gii.c, gii/unix.c, include/ggi/internal/gii.h, filter/*/filter.c, input/*/*.c:
 	LibGII Optimizations:
	Pass fd_set with readable fds to _giiPollall() so the inputlib
	doesn't have to	select() again.
	Cache maxfd, fdset, curreventmask, targetcan and flags for entire
	input chains so we don't have to re-generate them all the time.

1999-02-17 Marcus Sundberg [marcus@ggi-project.org]

	* ltconfig:
	Hopefully fixed to work out of the box on FreeBSD.

	* include/ggi/Makefile.am:
	Install gii-unix.h

	* include/ggi/keyboard.h:
	Changed GII_KM_RIGHT to 0x40 for future expansions.

	* input/xwin/input.c:
	Don't unlock the mutex before calling exposefunc - not necessary
	anymore.
	
1999-02-16 Marcus Sundberg [marcus@ggi-project.org]

	* input/x/xev.c:
	Replaced broken toupper() with own code.
	Support more modifiers.

	* input/linux_kbd/*:
	Made CapsLock, ScrollLock and NumLock LEDs work.
	Made locked modifiers and AltGr work.
	Don't repeat modifier keys.
	Hack to tell left and right shift/control from eachother in spite
	of the braindamaged Linux keyboard.
	
1999-02-15 Marcus Sundberg [marcus@ggi-project.org]

	* include/ggi/keyboard.h:
	GIIK_PF* KVALs should be hex, not decimal.

	* input/x/xev.c:
	Map XK_Multi_key ==> GIIK_Compose. Fixed XK_KP_F3.

	* input/xwin/input.c:
	We need to unlock the mutex before calling exposefunc.
	Use the label when checking for RELPTR_KEYS.
	Don't send PtrRelative events with no movement.

1999-02-14 Marcus Sundberg [marcus@ggi-project.org]

	* include/ggi/events.h, include/ggi/keyboard.h, input/*/*, filter/mouse/filter.c:
	Commited a bunch of keyboard changes. Full docs for keyboard events
	will be in the next beta release.
	
1999-02-13 Marcus Sundberg [marcus@ggi-project.org]

	* configure.in:
	Check for pthread stuff in -lc_r too as that's what FreeBSD uses.
	
1999-02-12 Marcus Sundberg [marcus@ggi-project.org]

	* input/xwin/input.c:
	Don't undefine the cursor when we exit rel-mouse mode.

1999-02-10 Marcus Sundberg [marcus@ggi-project.org]

	* gg/dlptlock.c:
	Include <errno.h> for EBUSY.

	* configure.in:
	Some small fixes to ease cross-compiling.

	* include/ggi/input/xwin.h, input/xwin/input.c:
	Added gglock member to the argument struct.

1999-02-07 Marcus Sundberg [marcus@ggi-project.org]

	* ltconfig:
	Fixed bug when building symbol table on SunOS.
	
1999-02-06 Marcus Sundberg [marcus@ggi-project.org]

	* configure.in, Makefile.am
	Added checks for correct versions of autoconf/automake.

	* configure.in, gg/Makefile.am
	Much nicer system to handle conditional compiling of files.
	Thanks to Thomas Tanner for showing me this.

	* gg/ptlock.c:
	Fixed warning on Digital Unix.

1999-02-03 Marcus Sundberg [marcus@ggi-project.org]

	* ltconfig:
	Made need_lib_prefix and need_version default to "no".

1999-02-02 Steve Cheng [steve@ggi-project.org]

	* doc/libgii-api.sgml
	Normalized the SGML files.  SGML tag minimization causes too much
	troubles.

1999-02-02 Marcus Sundberg [marcus@ggi-project.org]

	* include/ggi/input/xwin.h, input/xwin/input.c:
	Added new members to the arg struct: exposefunc and exposearg.
	These can be used to have a function called when we recieve
	expose events, instead of generating GII expose events.

1999-02-01 Marcus Sundberg [marcus@ggi-project.org]

	* ltconfig, ltmain.sh, */Makefile.am:
	Upgraded to current libtool and changed Makefiles accordingly.
	Now libgii.so get linked properly into sublibs.

	* acconfig.h, configure.in, gg/plat.h:
	Make use of AM_SYS_SYMBOL_UNDERSCORE of the new libtool.

1999-02-01 Marcus Sundberg [marcus@ggi-project.org]

	* gii/unix.c:
	In giiEventSelect(), properly handle the case when the usersupplied
	fd_set contains an fd used by an input source.
