version 0.3.1 v0.3.1
authorMats Johannesson <devel@bredband.net>
Thu, 26 Jun 2008 18:49:53 +0000 (14:49 -0400)
committerAristeu Rozanski <arozansk@redhat.com>
Thu, 26 Jun 2008 18:49:53 +0000 (14:49 -0400)
commit60058a4ef9e1c33dfe7a0dd46cd9936c5a565c66
tree1f83f85aeaa2b84428c30de4a10f406a51d695e1
parenta67954afda13cb38db35d568d20065fa8f842ad0
version 0.3.1
* Graphire4 support. And what a chore it was! The task has revealed
weaknesses in the overall code structuring which _must_ be attended to.
So, a long time will pass on this end doing nothing but code refactoring.
Graphire4 got hacked in by some serious "spaghetti"...

OBSERVE: linuxwacom-0.7.5-2 or greater is _required_ for Graphire4 support!

In that release an option called GetTabletID was introduced (in xsetwacom
version 0.0.7), which gives us a reliable and future proof way of identifying
the tablet model any device belongs to (pad, stylus etc).

The function identify_device can be found in the exec_shell.c file, where
presently only Graphire4 as a family is registered. A finer grained division
is planned so that correct configuration files can be written out for the
Graphire4 BlueTooth, which lacks a Scroll Wheel, and the Intuos3 4x5 with
its single Touch Strip and 4 buttons.

Thanks go to Carsten Schurig for e-mail access to a real Graphire4.
Imagination and deducing can only produce the code, not verify it.

And, as a sidenote to the verifying part, the Scroll Wheel of a Graphire4
triggers button press/release events, (up = button 4, down = button 5) not
axis motion events as has been stated on the linuxwacom web pages.

* The -s switch to get status from a running program was added in the last
24 hours before the 0.3.0 release, without much thought. It turns out not
to be particularly useful in the intended manner. Standard error (stderr)
where it prints the report is private to each shell session. So if the
program already has been launched by one process, the next one who queries
from another shell will see nothing.

Therefore we now save a copy of the status output as a file as well in:
~/.expresskeys/status.log The file gets created automatically at a daemon
launch (updated with each -s query) and is deleted by a normal program exit.

* Inform the user about the different values for a PressCurve, as chosen by
the wacomcpl program, already in the initial _configuration_ file. Nice to
have a copy nearby when doing manual editing.

* Implemented a rudimentary error handler (xerror_handler in on_error.c) for
Xserver error returns. It is mostly a cosmetic thing, but now we can save the
message in error.log as well. The downside is that some of the informative
text from an unhandled X 'crash' is lost, like exactly which function call
that was involved. This can of course be rectified with a more complete handler,
but then the exit_on_error function needs additional parametres, and all the
calls to it need adjustments... Some other day.

* Discover the real mode of a stylus at program start, instead of assuming it
to be Absolute.

* Fixed a bug where -d together with any of -h, -s, -r and -k would delete a
live PID-file.
18 files changed:
ChangeLog
NEWS
README
TODO
USAGE
configure
configure.in
src-expresskeys/config_read.c
src-expresskeys/config_write.c
src-expresskeys/event_loop.c
src-expresskeys/exec_shell.c
src-expresskeys/get_device.c
src-expresskeys/globals.c
src-expresskeys/globals.h
src-expresskeys/main_setup.c
src-expresskeys/on_error.c
src-expresskeys/on_signal.c
src-expresskeys/reg_events.c