commit 8cdf444fd1f4004b5a0d237b26ebcd72900338c4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 16 08:45:04 2011 +1000

    wacom 0.10.11
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e1acd61df8bad22864352cd6c9703356d46cb112
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 16 08:41:56 2011 +1000

    test: add more symbols to fake-symbols for ABI < 12
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit f9725353ba6e82b41abc73adb293676248558a08
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 16 08:37:02 2011 +1000

    test: put guards in for changed APIs in earlier server versions.
    
    Addition of const in ABI 12 breaks build if running make check against an
    earlier server.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit a7f85d19ec858c9567b08dbe1819019a1a10b83c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 16 08:36:19 2011 +1000

    test: remove _X_RESTRICT_KYWD from definitions
    
    Undefined in earlier server versions, breaks distcheck.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 6e4f971f9dc7d061771712141aff8581ca8ff4ea
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 16 08:21:57 2011 +1000

    Remove ABS() macro, just use abs()
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit a9fe6a0337183c653ede6b5724612a138b022fb9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 9 09:50:04 2011 +1000

    Check if the device has been initalised before processing the events.
    
    This is a stopgap solution only. Due to the current hotplugging approach,
    the dependent tools are initialised before the parent device. This leaves us
    with a time window where the parent device does not yet have a DeviceIntPtr
    attached.
    
    If an event from the parent device comes in during this time window, posting
    the event causes segfaults. Fix this for now by checking if there is a
    device attached to it yet.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b6fb68cf4930d20cb91d9fd939587082ee2e2dfd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 9 09:48:48 2011 +1000

    Rename pDev to pInfo where it is an InputInfoPtr.
    
    For consistency with the rest of the code.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit c1e18af5794191a5560fb60bd447e05fdafd53cb
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Sun Jan 2 23:06:46 2011 +0000

    Add Super and Hyper as modifiers
    
    Super_L / _R and Hyper_L/_R were missing from the list of modifiers in
    is_modifier function in xsetwacom.c. It was causing some troubles,
    reported as bug 3140393
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f856de8b9d4dd721d3a189665045ea0b9ac6f126
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Wed Feb 9 12:38:00 2011 -0600

    remove unsupported "Speed" option from man page.
    
    Use xinput's "Device Accel Constant Deceleration" for similar feature.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0f9a1371a2498e0c74ecdf381d28b5bc3adfaa25
Merge: 32babb0 b49d98a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 13:12:47 2011 +1000

    Merge branch 'test-suite'

commit 32babb0c89db59a73890ae5a989b65fd128486f5
Merge: bf9ba5f 868d768
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 9 09:51:54 2011 +1000

    Merge branch 'xsetwacom-cleanup'

commit 868d768e91444ae47cca3ab1902e0161920011ea
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 8 13:31:48 2011 +1000

    xsetwacom: print warnings for deprecated parameters.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit bf9ba5f101a28db64973b1933debed381ee1654e
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Feb 3 21:12:10 2011 -0800

    Process USB 1FGT data through BTN_TOUCH
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 80b9d51819c48a10914be165720d2c59c587cf01
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Feb 3 20:59:30 2011 -0800

    Prepare for Tablet PC MT format
    
    We borrowed _TAP_ for 2FGT Tablet PC support when MT protocol was
    not available (before kernel 2.6.30 was released). MT support in
    the kernel is getting stable now. To move Tablet PC to MT format,
    we face two issues:
    
    1. USB Tablet PC 1FGT devices will not emit BTN_TOOL_FINGER event
    since it is a touchscreen device.
    
    2. Serial Tablet PC 2FGT devices do not emit BTN_TOOL_DOUBLETAP
    event since they are not touchpads.
    
    This patch add those keys back to the supported key array so we
    can retrieve the proper keys when we need to decide the features
    that are associated with the device.
    
    Changes to v1:
    
    1. Replace usbGenericTPCQuirks with usbGenericTouchscreenQuirks
    2. Remove USB from the second item above
    
    as suggested by Chris Bagwell.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 36520328f4b42f2556a8472a66ea2e9986a59ebd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 8 14:57:00 2011 +1000

    man: note that the threshold applies to the normalized pressure range.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit e5540823b1b70b4e0a5f91116e7f75d564a40d78
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 8 14:36:26 2011 +1000

    Rename transPressureCurve to applyPressureCurve.
    
    More self-explanatory name because with recent refacturing, that's all we're
    doing here.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit f1059805593f52080854d3c3e8a85fb2633f90b6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 8 14:34:57 2011 +1000

    Return converted pressure, don't set it directly.
    
    Allows for constification of the parameter in transPressureCurve().
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 61f1a2ae93a7e801302a27b7ca58ef9806bdec78
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Feb 9 08:04:05 2011 +1000

    Fix spelling error
    
    s/none /non-/
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1b1c1022e0abe4f0c3f4d749857a788f36b69f84
Author: Ron Lee <ron@debian.org>
Date:   Sun Feb 6 19:13:54 2011 +1030

    xsetwacom: only display usage() once, when asked
    
    If we just break out of the switch, then --help and --version will cause the
    usage() to be displayed again in the !do_list && !do_get && !do_set block.
    Closes: http://bugs.debian.org/612122
    
    Signed-off-by: Ron Lee <ron@debian.org>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 89cf7f4b391a075209b0f2b4752f01da2f90b228
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 15:05:28 2011 +1000

    xsetwacom: rename "xyDefault" to "ResetArea"
    
    "xsetwacom set ResetArea" seems more self-explanatory than
    "xsetwacom set xyDefault"
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 3d88c0189ee52beadb0021b695cab026b5129c03
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 15:01:28 2011 +1000

    xsetwacom: change a few parameters to self-explanatory ones.
    
    Affected:
    PressCurve → PressureCurve
    TPButton → TabletPCButton
    CursorProx → CursorProximity
    
    All wheel and strip properties.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit ac821ba29a828fb9bb531243d0a226a7fe494504
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 14:58:35 2011 +1000

    xsetwacom: lowercase rotation values.
    
    Don't shout at users, it makes them sad.
    We take both uppercase and lowercase anyway...
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 4f4172a453a92f892007cc0fd3c9104d40138d4c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 14:56:50 2011 +1000

    xsetwacom: rename DebugLevel/CommonDBG to ToolDebugLevel/TabletDebugLevel
    
    Self-explanatory parameter names ftw!
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 766c0064f825c363eb5aa6ed6d944ebdae950e0e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 14:51:01 2011 +1000

    xsetwacom: simplify code for Button mappings.
    
    This changes the user interface. Instead of
        xsetwacom set Button1 ...
    it's now
        xsetwacom set Button 1 ...
    (note the space)
    
    Other than that, functionality stays the same.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 6360f166c2b9d61b2a0ef4624e6dd0a799da9e04
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 14:23:55 2011 +1000

    xsetwacom: remove GetTabletID - duplicate option.
    
    We already have the parameter "TabletID".
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 8b77d9ddf79c2d91abc011b249698d0b4946917f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 14:23:07 2011 +1000

    xsetwacom: remove mmonitor parameter - not hooked up to anything.
    
    Removed with the multimonitor support purge.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 4268b647ae42b8a4fa88d531d33334d4e2f379c3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 14:20:41 2011 +1000

    xsetwacom: remove pressurecurve special handling - not needed.
    
    The prop_extra field handles this for us automatically now.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 69abda44c2ad460f3b59a94634938c3fa8ed57b9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 14:18:13 2011 +1000

    xsetwacom: purge Screen_No setting, it's not supported anymore.
    
    Removed with the multi-monitor removals.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 2bdd897b4a2857d224d3142f0067fd209bb35fea
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 14:15:15 2011 +1000

    xsetwacom: purge TopX/BottomX/..., replace with Area instead.
    
    In almost all cases, a user that needs to set the are will need to set all
    4 values. Instead of asking the user to type 4 commands to set the area,
    just provide one parameter that takes 4 coordinates.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 5da087b0d18078f466209ff52422f82db1a4a362
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 13:38:29 2011 +1000

    xsetwacom: s/X.conf/xorg.conf/ in help output
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit f25ddf2db80e4845f307e3f5c80c863fb33868fd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 13:36:02 2011 +1000

    xsetwacom: s/disp_name/display in help output.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit c642d60682dde26df9ced9d3d27fc25cd1b7c985
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 13:34:57 2011 +1000

    xsetwacom: s/param/parameter/ in help output
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 979f964cd7fc80accd470976a3304033f3ea9658
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 13:33:40 2011 +1000

    xsetwacom: split help output into multiple lines.
    
    Just cleaning up the UI, instead of "list [devices|[parameters]" but a
    separate "list modifiers", have three separate lines.
    
    Also, change from "known" to "supported" or "detected".
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 38af5d20b51e69ee60e1c3f34388d636fd04a187
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 13:32:22 2011 +1000

    xsetwacom: require "list parameters", not "list param"
    
    Making the UI a bit more self-explanatory.
    
    "list param" still works to avoid breakage, it's just
    undocumented.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit bac5ac9da3027bef641899762ad6f0ca3785ab75
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 13:30:23 2011 +1000

    xsetwacom: require "list modifiers", not list mod
    
    Making the UI a bit more self-explanatory.
    
    "list mod" still works to avoid breakage, it's just
    undocumented.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 6e0cd8638f1d94852cb0c779838678364baab6bb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 13:27:47 2011 +1000

    xsetwacom: require "list devices", not "list dev"
    
    Making the UI a bit more self-explanatory.
    
    "list dev" still works to avoid breakage, it's just undocumented.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 1560b55a2b119a35fe7ea42d0ab3bf2674678824
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 13:25:28 2011 +1000

    xsetwacom: use "device name" instead of dev_name in help output.
    
    Easier to understand, and also illustrates better that most times the device
    name needs to be in quotes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 1395e43b2d91ae4614b010c7b7c0f345121cbf90
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Wed Feb 2 15:00:56 2011 -0600

    align Threshold default in man page to software
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f175c5e3db41f72031678d040787de7a0b5b89f1
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Feb 1 21:11:50 2011 -0600

    fix cursor jumps when clicking button on relative devices
    
    Placing a stylus in relative mode (xinput set-mode x RELATIVE)
    would result in unexpected mouse movement when a button click
    occured.  Similar reports given for mouse tool which defaults
    to relative mode on its own.
    
    I believe the memset()'s zeros were being scaled to non-zero
    values for acceleration inside xserver and causing the movement.
    
    Change to not post these valuators during button posts since they
    were just posted.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a453ac1a2f24d931e9ec50787d55effe57ae1d9d
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Feb 1 13:36:11 2011 -0800

    Convert ISDV4 resolution to points/m
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit de41586f8ed1661921f6b5d07bcd6acc163f11ce
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Jan 31 17:21:00 2011 -0800

    Change to GENERIC protocol
    
    This brings ISDV4 2FGT in sync with USB GENERIC protocol so it goes
    with the same path as the USB _MT_ support.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 84f56edfbcbcb9dd8a6d421858d05784ca25383a
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Jan 31 17:21:19 2011 -0800

    Add a new Fujitsu 1FGT model
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8f9439e206cdedfbf63a7f786634a33bafa84291
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Jan 25 11:48:49 2011 -0800

    Streamline the touch resolution
    
    Resolution uses different units in the kernel (point/mm), XInput
    (point/m), and the hardware protocol (point/cm/1000 for touch and
    point/inch for pen).
    
    We have a resolution table for pen in the X driver. But we get the
    touch resolution directly from the kernel through HID descriptor.
    
    For kernels older than 2.6.30, resolution is not part of absinfo.
    For kernels older than 2.6.35, kernel does not pass resolution to
    the userland.
    
    This patch addresses those issues and correct a conversion bug
    introduced by the RX/RY workaround.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b49d98a27dc1564d99847691a3f994bc799a1c93
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 31 09:53:03 2011 +1000

    test: expand pressure normalisation range.
    
    Try with a rather random variety of maxZ values, make sure the range really
    goes up to FILTER_PRESSURE_RES.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 170b71a49aa3b6be6233189cdda1ff5fb48d05f2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 31 09:46:45 2011 +1000

    Add extra checks for lack of rebasing.
    
    This would be a bug in the driver, rebase must be called before normalising,
    but we might as well check for it, test for it, etc.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit f4cce2e56b2e819d33613790216b7dbdb8859e8a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 31 09:33:34 2011 +1000

    Split pressure rebase and normalisation.
    
    Two different operations, one not necessarily linked to the other one. Split
    them into two static functions so we don't have a normalizePressure() with a
    side-effect (setting minPressure).
    
    This way, both can be passed consts and testing is easier.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 6f0aba3a659226f7ee0b881c0c122ce3e1ee1615
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 19 16:43:57 2011 +1000

    test: add some tests for pressure normalization
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 18e90e89dabe8e4e1574a5eba12f78f72d4f6fc6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 19 16:28:37 2011 +1000

    test: simple test for WcmCommon refcounting.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 4bc52aba794c3054535e0c2af174b26144d39002
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 19 10:59:03 2011 +1000

    Add a testing framework for the driver.
    
    This uses glib's testing framework provided glib-devel was available at
    configure time (same as the X server's testing framework).
    
    How this works:
    The wacom driver is recompiled for the testing framework and linked into the
    wacom-tests binary (there's a warning about that but ignore that). Since the
    .so uses a number of symbols from the Xorg binary, these are provided as
    stubs in fake-symbols.c. Additional binaries can be added through the
    check_PROGRAMS automake variable.
    
    The driver will be rebuild without static symbols for the test, allowing
    each function call to be tested.
    
    To run the tests, run 'make check'.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 23ed0b11c24582caa6465c8fa083e8e830ce6a75
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 19 10:58:13 2011 +1000

    Use absolute patch from $(top_srcdir) for source files.
    
    This is in preparation for the integration of a testing suite.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit b5a90be8ab377601cb9d61cb50b0bca5e6063d9b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jan 21 14:18:26 2011 +1000

    isdv4: let the compiler decide when to inline.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a656bc2f05f6ec9cc0182b09cb0f4b7642f7512b
Author: David Foley <favux.is@gmail.com>
Date:   Thu Jan 20 13:59:20 2011 -0600

    wcmUSB.c: 2-new-bambooPT-models
    
    Adds 2 new Bamboo Pen & Touch models.
    
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1eb933db2d69bfea1069845c9cd895ecf8b75bf8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 19 08:41:57 2011 +1000

    Purge sizeX/sizeY - can be computed on-the-fly where needed.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 682c3c4fa27dba83e4b3ca672088d8dbcd548fb2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 18 17:11:30 2011 +1000

    Remove useless else block.
    
    This is the most creative way of not changing a value I've seen so far.
    
    Calculation before the if condition:
        dx = (filtered.x - priv->oldX) * factorX;
    and this else block then:
        filtered.x = dx / factorX + priv->oldX;
    
    Ignoring rounding errors (which I doubt matter here) we've just set
    filtered.x to the value it had anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 77a959ee53af68582dea70b3df7bf5ec5853a038
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 18 17:01:22 2011 +1000

    Change "suppress" from int to bool for readability.
    
    Suppress is a user-configured option that defines when events should be
    sent. The option is a number, defining how much coordinates must change
    before an event is being sent.
    
    The use of suppress here though is as a boolean flag, whether to suppress or
    not.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit d25cd9b07e673b878f9744e635b40b823d8e1c6c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 18 16:53:19 2011 +1000

    Move pressure-based button1 down/up events into a separate function.
    
    No functional changes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 6b2dbf720022126ed4ffe8d129132f2f56157438
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 18 16:44:40 2011 +1000

    Move declaration+definition of button into local block.
    
    No functional changes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit a635a0b2f16e5c5fd2fd1894808a813b81511a19
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 18 16:36:17 2011 +1000

    Move pressure normalization into its own function.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 6e840e770a36bc761c4ebdbcb318e7079408af24
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 18 16:29:12 2011 +1000

    Rename hardProx to oldHwProx.
    
    hardProx stores the old hardware proximity. Say so through the variable
    name.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 7eb75447f30fbcd0675dd358e31da0f2b26d54ea
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 18 16:26:34 2011 +1000

    Simplify an if condition.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit b7a0212cf76e5583b72ced7b37f637c9e75f5017
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 18 15:41:52 2011 +1000

    Move a check for tool existence up a bit.
    
    Check whether we have a proper device before trying to get the screen for
    it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 609db722a4cfef05416408d8b1b2044960775232
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 18 15:38:58 2011 +1000

    Move tool finding out of commonDispatchDevice.
    
    No user-visible functional changes. Only actual change is that pad events
    now see a bit more processing though it should not affect them.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 65fcb6c7a73fe73eeb34c32674ddb242331e893a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 18 15:26:19 2011 +1000

    Factor out finding the device type
    
    no functional changes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit f9144ed2302b0e743a91500e62317d983b2c54e0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 18 10:09:05 2011 +1000

    xsetwacom: fix compiler warning.
    
    xsetwacom.c: In function ‘list_mod’:
    xsetwacom.c:908:2: warning: format ‘%d’ expects type ‘int’, but argument 2
    has type ‘long unsigned int’
    xsetwacom.c:912:2: warning: format ‘%d’ expects type ‘int’, but argument 2
    has type ‘long unsigned int’
    
    Cast ArrayLength to unsigned int, we won't deal with any arrays larger than
    UINT_MAX.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b330c59409dd32a5bf213795d46e466e7e76ac78
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 19 08:43:34 2011 +1000

    Fix comment: maxX/maxY are the physical max, not logical max.
    
    Reported-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8fc327f5a9151e7d6523ee6e72313c1cc33372fd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 18 09:45:42 2011 +1000

    Note which values are in screen and which are in device coordinates.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 7c043460d1f70654035488d1e90e7eaa2e79f71a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 10 15:20:35 2010 +1000

    xf86ProcessCommonOptions doesn't need to be called for ABI 12
    
    Server calls it before PreInit().
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5acbaaf820605f20428603ac35b01fac518b2b19
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Jan 16 22:02:17 2011 -0600

    compute factorX/factorY from bottomX/bottomY.
    
    maxWidth and maxHeight are no longer set and this causes
    relative devices to not work (factor* = 0 which scales to
    zero values always).
    
    bottomX/bottomY is meant to be a value that optionally contains scaling
    information that can be passed to xf86AxisScale() to scale
    from tablet to screen ratios.  See wcmInitArea() for how that is done.
    
    Derive the scaling factor from bottomX/bottomY.  Since this normally
    1:1, the code is rarely used.
    
    This patch fixes a regression where Bamboo touch device would not
    move cursor any more.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 263c7f212a7c9735af37f373a6dd6ad2b71c6317
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Jan 16 22:02:16 2011 -0600

    Add comment describing factorX and factorY
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5276f34b504538bb86ffb9a3c267718f1c5c31c2
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Jan 16 22:02:15 2011 -0600

    Init relative X/Y axis to use tablets min/max size
    
    wcmRotateAndScaleCoordinates() uses these values to scale
    values based on axis initialization.  The change to use -1..-1
    caused it to scale in a way that cursor was overly accelerated.
    
    This is a modified revert to a commit.  Before -1..-1
    change, the code would set range to 0..maxX/Y but this
    commit changes to match absolute mode behavior.  They both come
    to same answer anyways.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d7749f35d251ad0fb2988d8063a3eee73d33b9e8
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Jan 16 21:38:26 2011 -0600

    xsetwacom: allow removing special button mapping
    
    If a user did a special button mapping, such as key-to-button,
    and then changed it back to simple button-to-button mapping,
    the special mapping still occured.
    
    The main fix is to memset keys[] to clear out old mapping.
    
    The other fix is more cosmetic.  We were leaving around a
    property that was unreferenced by anything.  If a user
    did an "xinput list-props pad", they way scratch there
    head by old button mapping properties were still around.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 02403679b8e7f086e6f9a12ac4992771da5b09a6
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Jan 16 21:38:25 2011 -0600

    xsetwacom: allow mapping last ButtonN
    
    For button-to-button mappings, the last button was
    rejected.  This may be only now seen because we used
    to pad button # counts in driver and thats recently
    been cleaned up.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ab311bf20535acd6e7201e024bc311e0e15b5b6b
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Thu Jan 13 20:05:37 2011 -0600

    make key mappings align with button mappings.
    
    So commit is clear, let me define terminology used in describing
    change.
    
    internal buttons - xf86-input-wacom has a fixed set of buttons
    it maps to internal #0 to 4 (stylus buttons, mouse buttons, and pad buttons).
    It also has generic list of buttons BTN_0.. BTN_* that it defines to
    internal #0 to 27.
    
    X physical buttons - xf86-input-wacom uses a non-user editable
    priv->button[] array to map internal button #'s to X physical
    buttons.  The current usage of this array is to skip over
    physical buttons 4 to 7 since they are used for scrolling events
    by convention.
    
    X logical buttons - both "xinput set-button-map" and "xsetwacom
    --set X ButtonN N" modify an array that converts X physical buttons to
    X logical buttons.
    
    key mappings - "xsetwacom --set X Button N "key 1"" creates a
    button-to-key mapping.  Before this patch, the key mapping was
    "internal button" to key mappings; instead of X physical buttons
    to key mappings.
    
    New Bamboo driver maps two middle pad buttons to X physical buttons 8
    and 9 because internally they are 4 and 5.  This mean for
    button-to-button mappings, user used Button8/9 but for key mappings
    they used Button4/5 to change behavior.
    
    This is a long explaination for small patch that makes key
    mappings use X physical button names for consistency.  It
    also changes keys[] array to be ones based to allow with X
    physical buttons being ones based.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d5af19ae92cb9fccff89b3caf668dbc323a0acfc
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Jan 11 19:34:05 2011 -0600

    Set WCM_PEN feature based on wcmKeys
    
    A previous commit removed all bamboo ID's which caused it
    to hit default statement removed in this patch and mistakenly
    add WCM_PEN for Bamboo touchpad.
    
    That flag only seems to be used by a debug statement so not
    a big deal unless you want that information out of log file.
    
    Change to generically set WCM_PEN feature based only on existence
    of BTN_TOOL_PEN so all PEN enabled tablets will declare that
    feature; which seems the conceptially correct thing to do
    and has side affect of getting debug statement working for
    Bamboo's again.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1bb87ee40202c577bd695872489cb6cef57a3bea
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Jan 11 19:34:07 2011 -0600

    delete unneeded code in wcmVirtualTabletSize
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2f3514cd085650ebe698330f3bd10ec988a84b88
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Jan 11 19:34:04 2011 -0600

    Init device_type during ABS_MT_TRACKING_ID
    
    ABS_MT_SLOT is normally zero which means it will not be sent
    when xf86-input-wacom first starts up normally.  During 2
    finger touch, this event will constantly toggle between
    slot 0 and 1.
    
    Move initialization of device_type to ABS_MT_TRACKING_ID
    because its more effecient to do it at touch transitions
    instead of constantly during 2 touches and also helps
