commit 5395d18c4bbaa0d9ea96617ad41bd94848fb05e9
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Sep 27 16:42:39 2013 -0700

    wacom 0.23.0
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit eef947af1447df58099a005834de394edb4b03d0
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Sep 19 17:08:13 2013 -0700

    wacom 0.22.99.1
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 6cadaf2eabb91e47963054e1628374861fea6209
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Sep 11 09:55:46 2013 -0700

    Correct return value of special_map_button
    
    The 'special_map_*' functions called by 'parse_actions' are expected
    to return a count of the number of words of input they have consumed.
    The 'special_map_buttom' function errounously returns the number of
    actions added instead, causing the program to potentially skip over
    requested actions which follow a list of "button" actions.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit cde2718ac432f5d745b9ff5ccf6d4f8c2f4fc499
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Sep 11 09:30:37 2013 -0700

    Fix buffer overflows in 'special_map_*'
    
    Each of the 'special_map_*' functions is given free reign to write
    to the end of a buffer, but is never given the size of the buffer
    itself. It is trivial to trigger an overflow simply by feeding the
    program more actions to perform than space to store them.
    
    This patch adds an argument to each function which contains the
    buffer's size. The functions check for sufficient space before
    writing to the buffer and will print out an error message if
    it isn't available.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 59086ba4f5caf4cf6f52f80b5ca36144a882daa5
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Sep 10 16:42:22 2013 -0700

    Add support for Intuos Pro series
    
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cb14924a2a5be21c8525ca70932ab8b5f0f99752
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 4 17:04:13 2013 +1000

    strdup the option key/values in our input_option_new
    
    This is a interface for servers with ABI < 14 (up to server 1.11).
    The server version of it strdups the values, so we must do the same.
    
    Otherwise the values assigned to the InputOption list in
    wcmOptionDupConvert are freed during xf86OptionListFree().
    
    That later causes a SIGABORT when NewInputDeviceRequest starts using
    those options.
    
    https://sourceforge.net/p/linuxwacom/bugs/233/
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 39c4c7fca7db19ac550332fa53d0d4f58a26f67f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sat Aug 31 14:35:58 2013 +1000

    Print list of supported models on wcmPlug
    
    When the driver starts, print the list of supported models. This should
    help with any questions like "does my driver support this or that model".
    
    For those models that don't have a defined name, print "usb:1234:5678"
    instead, so users can at least try to match the usb IDs.
    
    Sample log output:
    [ 25950.166] (II) wacom: Driver for Wacom graphics tablets: PenPartner, PenPartner,
            Graphire, Graphire2 4x5, Graphire2 5x7, Graphire3 4x5, Graphire3 6x8,
            Graphire4 4x5, Graphire4 6x8, BambooFun 4x5, BambooFun 6x8,
            Bamboo1 Medium, Graphire4 6x8 BlueTooth, CTL-460, CTH-461, CTL-660,
            CTL-461/S, Bamboo Touch, CTH-460/K, CTH-461/S, CTH-661/S1, CTH-461/L,
            CTH-661/L, Intuos 4x5, Intuos 6x8, Intuos 9x12, Intuos 12x12,
            Intuos 12x18, PTU600, PL400, PL500, PL600, PL600SX, PL550, PL800,
            PL700, PL510, PL710, DTI520, DTF720, DTF720a, DTF521, DTU1931,
            DTU2231, DTU1631, Intuos2 4x5, Intuos2 6x8, Intuos2 9x12,
            Intuos2 12x12, Intuos2 12x18, Intuos2 6x8 , Volito, PenStation,
            Volito2 4x5, Volito2 2x3, PenPartner2, Bamboo, Bamboo1, Bamboo1 4x6,
            Bamboo1 5x8, Intuos3 4x5, Intuos3 6x8, Intuos3 9x12, Intuos3 12x12,
            Intuos3 12x19, Intuos3 6x11, Intuos3 4x6, Intuos4 4x6, Intuos4 6x9,
            Intuos4 8x13, Intuos4 12x19, Intuos4 WL USB Endpoint,
            Intuos4 WL Bluetooth Endpoint, Intuos5 touch S, Intuos5 touch M,
            Intuos5 touch L, Intuos5 S, Intuos5 M, Cintiq 21UX, Cintiq 20WSX,
            Cintiq 12WX, Cintiq 21UX2, Cintiq 24HD, Cintiq 22HD,
            Cintiq 24HD touch (EMR digitizer), Cintiq 13HD, DTK2241, DTH2242,
            Cintiq 22HDT, TabletPC 0x90, TabletPC 0x93, TabletPC 0x97,
            TabletPC 0x9A, CapPlus  0x9F, TabletPC 0xE2, TabletPC 0xE3,
            TabletPC 0xE5, TabletPC 0xE6, TabletPC 0xEC, TabletPC 0xED,
            TabletPC 0xEF, TabletPC 0x100, TabletPC 0x101, TabletPC 0x10D,
            TabletPC 0x4001, usb:172f:0024, usb:172f:0025, usb:172f:0026,
            usb:172f:0027, usb:172f:0028, usb:172f:0030, usb:172f:0031,
            usb:172f:0032, usb:172f:0033, usb:172f:0034, usb:172f:0035,
            usb:172f:0036, usb:172f:0037, usb:172f:0038, usb:172f:0039,
            usb:172f:0051, usb:172f:0052, usb:172f:0053, usb:172f:0054,
            usb:172f:0055, usb:172f:0056, usb:172f:0057, usb:172f:0058,
            usb:172f:0500, usb:172f:0501, usb:172f:0502, usb:172f:0503,
            usb:1b96:0001, usb:17ef:6004
    [ 25950.167] (II) Using input driver 'wacom' for 'Wacom Intuos4 6x9'
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 3f95c4c58afd25e7c8a3ab18dad936f615cfd189
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Jul 15 10:09:40 2013 -0700

    wacom 0.22.1
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit b25eb646c36d19a46c561b3c091adb5c86c563df
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 12 10:28:08 2013 +1000

    Fix build on ABI < 16 - touch_mask isn't defined
    
    Fixes: http://sourceforge.net/p/linuxwacom/bugs/232
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4982cebdadb32376c3b1964616ede44a712c8a24
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Jul 10 11:49:29 2013 -0700

    wacom 0.22.0
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 67daf21bdb7b32c27818bffaf56849a522d23477
Author: Ping Cheng <pingc@wacom.com>
Date:   Fri Jun 7 15:34:03 2013 -0700

    Unify wcmFingerMultitouch and wcmSendTouchEvent
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Acked-by: Jason Gerecke <killertofu@gmail.com>

commit d0a5c68b2582fc6bdcee1d949913f78c0651b1a6
Author: Sjoerd Simons <sjoerd@luon.net>
Date:   Sat May 25 01:06:16 2013 +0200

    Transform touch events just like all other events
    
    Transform touch coordinates in the same way as other events coming from
    the wacom driver otherwise setting for exmaple the Wacom Rotation
    property has no effect
    
    Signed-off-by: Sjoerd Simons <sjoerd@greynoise.nl>
    Acked-by: Jason Gerecke <killertofu@gmail.com>

commit 8e5b56e7a461c416d5b29f338bbd749626452b5d
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Jul 10 13:50:55 2013 -0700

    Revert "Transform touch events just like all other events"
    
    This reverts commit bfb56bf858e08d95156d52cec9744d3d3251b59c.
    This commit will be split in two to provide proper credit for
    each of the two authors.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 85b62fa528564607875a88babab11dd6d2481b04
Author: Ping Cheng <pingc@wacom.com>
Date:   Tue Jul 2 11:25:59 2013 -0700

    Add support for 0xEC.
    
    It is a Wacom device found in Samsung Ativ Smart PC Pro 700t.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a2c57c0104e2aee3e3f2544b094d443e20f076cb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 3 09:35:30 2013 +1000

    Revert "Add support for 0xED."
    
    Typo in commit message, tablet is actually 0xEC. Revert and re-commit to
    make the patch easier to find.
    
    This reverts commit 8488c2af5bdd6dc4d049dc6d895c50c5f34aea14.

commit 8488c2af5bdd6dc4d049dc6d895c50c5f34aea14
Author: Ping Cheng <pingc@wacom.com>
Date:   Tue Jul 2 11:25:59 2013 -0700

    Add support for 0xED.
    
    It is a Wacom device found in Samsung Ativ Smart PC Pro 700t.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>

commit 361ac83d06159ec02bf33237eb5ec24652c8b700
Author: Ping Cheng <pingc@wacom.com>
Date:   Fri Jun 14 16:03:18 2013 -0700

    wacom 0.21.99.1
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>

commit 4f7d24c2138685a9881c7b5314747dc17d7cc147
Author: Ping Cheng <pingc@wacom.com>
Date:   Fri Jun 14 15:57:16 2013 -0700

    Add xf86OptionListFree for distcheck
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>

commit bfb56bf858e08d95156d52cec9744d3d3251b59c
Author: Ping Cheng <pingc@wacom.com>
Date:   Fri Jun 7 15:34:03 2013 -0700

    Transform touch events just like all other events
    
    Transform touch coordinates in the same way as other events coming from
    the wacom driver otherwise setting for exmaple the Wacom Rotation
    property has no effect
    
    Signed-off-by: Sjoerd Simons <sjoerd@greynoise.nl>
    Acked-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Ping Cheng <pingc@wacom.com>

commit f38dd5736e2df7c3eec0338bd0c7bef8c562b979
Author: Ping Cheng <pingc@wacom.com>
Date:   Thu Jun 6 18:25:52 2013 -0700

    Don't emulate a mouse when multitouch is enabled
    
    Currently when enabling XI 1.2 multitouch events the Wacom driver does a
    strange mix of emulating a mouse (when there is only touch) and
    switches suddenly switches to be a touchscreen when 2 fingers are down.
    
    Change this to only send touch events when using multitouch mode, such
    that the touchscreen works the same as other touchscreens. This enables
    applications to properly respond to one finger touches (e.g. panning
    in GTK+).
    
    The X server core will still send emulated input events to applications
    not supporting multitouch, so there shouldn't be a regression for those
    applications.
    
    Signed-off-by: Sjoerd Simons <sjoerd@greynoise.nl>
    Acked-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Ping Cheng <pingc@wacom.com>

commit 3578b919360e7a4d6cfbbe4c33c3084be0c6d5c9
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Fri May 17 15:11:39 2013 -0700

    Add support for Cintiq 22HDT and 13HD, DTK2241 and DTH2242.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2dffd217b112c346c6c0b07e82cb069a3cf84246
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 9 13:31:38 2013 +1000

    Don't init abswheel2 valuator (7th val) if we don't have one
    
    InitValuatorAxisStruct() will return if the axisnum > num_axes and not
    initialise anything which is why the current code worked without issues.
    
    With a new patch to the server this will now complain with an error message
    to the log.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit b350a95717ac04a0bed1d836a0b90c94724dc597
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 9 13:45:15 2013 +1000

    Free the device name after reassigning
    
    When hotplugging the first tool (usually the stylus) changes pInfo->name to
    the name + tool name. Thus, free the original one.
    
    And strdup the oldname so we can unconditially free it, regardless of
    whether we changed the actual device name or not.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 06abd7a61323034bd58e745a18f0b08723de0064
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 9 13:14:45 2013 +1000

    Free the touch mask on shutdown
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 6d26cb9b9f71bfec1c388a72dcbb09f09f31bd04
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 9 11:21:40 2013 +1000

    Free input attribute's product
    
    This is copied first by DuplicateInputAttributes, then asprintf makes
    another copy.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit dff311a44c13687c12e86d8233f15bb0f8868361
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 9 10:55:33 2013 +1000

    Free duplicated option list after conversion to InputOption
    
    The duplicated list is a copy (as the comment in the server says) and thus
    must be freed.
    
    ==27895== 947 (40 direct, 907 indirect) bytes in 1 blocks are definitely lost in loss record 266 of 311
    ==27895==    at 0x4A06B6F: calloc (vg_replace_malloc.c:593)
    ==27895==    by 0x4E538C: addNewOption2 (Flags.c:203)
    ==27895==    by 0x4E5401: xf86addNewOption (Flags.c:216)
    ==27895==    by 0x4AEB24: xf86AddNewOption (xf86Option.c:347)
    ==27895==    by 0x4AE54B: xf86OptionListDuplicate (xf86Option.c:152)
    ==27895==    by 0xB74D139: wcmOptionDupConvert (wcmValidateDevice.c:382)
    ==27895==    by 0xB74D408: wcmQueueHotplug (wcmValidateDevice.c:515)
    ==27895==    by 0xB74D645: wcmHotplugOthers (wcmValidateDevice.c:568)
    ==27895==    by 0xB742DA2: wcmPreInit (wcmConfig.c:599)
    ==27895==    by 0x4C1ACF: xf86NewInputDevice (xf86Xinput.c:846)
    ==27895==    by 0x4C2014: NewInputDeviceRequest (xf86Xinput.c:989)
    ==27895==    by 0x4DD72C: device_added (udev.c:231)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit bc095d579bc6b1380080c83c4e5f6df173364b76
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 9 10:39:39 2013 +1000

    Plug memory leaks left by xf86SetStrOption
    
    xf86SetStrOption() returns a strdup'd string that needs to be freed after
    use.
    
    This requires some const char* → char* changes too, for things that were
    never really const char* to begin with anyway.
    
    wcmEventAutoDevProbe() can use xf86CheckStrOption so it too returns a
    strup that we can free lateron.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 6940e481a4aadfbc4c87362e1461a43b296bc8b1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 30 14:40:07 2013 +1000

    Purge TILT_REQUEST_FLAG
    
    Write-only value, obsolete as of xf86-input-wacom-0.10.4-45-gba90433
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 1329374edbd8bd5a375d32829d0f6153f84e6b6f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 2 09:34:56 2013 +1000

    man: clarify how to configure keys on higher shift levels in xsetwacom
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit d0dbb34e524ebb58bb9a5a623d2fa96a1470516f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 29 14:47:06 2013 +1000

    xsetwacom: map a bunch of special symbols
    
    Punctuation marks and others map to XK_* keysyms but only in their named
    form, not in their single-character symbol form.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit e50725269dd76c4a3c92c84dd4413034a8937df0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 29 14:46:18 2013 +1000

    xsetwacom: if we fail to map a string, try as special key or warn
    
    If a string comes back with a KeySym of 0, try again as a special key. And
    if that fails too, print a warning.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 915a64589f34a0593fe55afa82de30c4415c3020
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 29 14:14:43 2013 +1000

    xsetwacom: add special mappings for Home, End, Delete
    
    These three are likely written as home, end, del, so let's try to
    understand that.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit c1f31c0ab16bc11614d6cfbd9bc16e4714732279
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Apr 29 13:20:58 2013 -0700

    wacom 0.21.0
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 5c6bd8d45ca2358d42fdd028112e724c691774ba
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Apr 19 18:14:59 2013 -0700

    wacom 0.20.99.1
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 8d804cdf31bfbf9ec46ee15ab1a58e63f770c2b8
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Apr 18 14:51:37 2013 -0700

    Fix const warnings in wcmSetActionProperty
    
      CC       wcmXCommand.lo
    ../../src/wcmXCommand.c: In function 'wcmSetActionProperty':
    ../../src/wcmXCommand.c:460:23: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
        case BadMatch: msg = "BadMatch"; break;
                           ^
    ../../src/wcmXCommand.c:461:23: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
        case BadValue: msg = "BadValue"; break;
                           ^
    ../../src/wcmXCommand.c:462:17: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
        default: msg = "UNKNOWN"; break;
                     ^
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 135e6f60df1398f2c5145535f68e06703ccd77b4
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Apr 18 14:47:17 2013 -0700

    Remove unused variable
    
    src/wcmUSB.c:451:14: warning: unused variable 'private' [-Wunused-variable]
      wcmUSBData* private = common->private;
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit dfe4d23ef30db20e726605599c1c6bed2aa20a3a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 26 11:39:55 2013 +1000

    Correct comment for Sample and Suppress property
    
    The data in the property is actually the other way round. Oops.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ad952fe2800c875b2f0b4663358d454d793ce57f
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Fri Mar 8 17:04:42 2013 -0800

    add support for 0x10d
    
    It is a Wacom device found in Fujitsu Lifebook T902.
    
    Signed-off-by: Stephan Frank <sfrank@cs.tu-berlin.de>
    Acked-by: Ping Cheng <pingc@wacom.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit 7a1aadb24b6573809d7324f2549bed749ad1a7f2
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Mar 7 14:11:30 2013 -0800

    Resume button events for pucks
    
    wcmBTNChannel was statically assigned to PAD_CHANNEL by commit 1f9bf45b, which
    excluded button events for CURSOR tools. This patch allows usbParseBTNEvent
    to process button events for both CURSOR and PAD tools.
    
    wcmBTNChannel is removed from wcmUSBData since we do not need it anymore.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit c3b4e869924291ee1ec72a2f02fc1986873efe92
Author: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
Date:   Mon Mar 4 18:33:03 2013 +0100

    Make touchscreens (WCM_LCD) direct touch devices
    
    Tested with a tablet pc, allowing finger scrolling in GTK3.
    
    Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Jason Gerecke <killertofu@gmail.com>

commit 9077b12cd6ef7a9772aaea00b52baad64471e4e4
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Mar 5 16:46:27 2013 -0800

    Consolidate calls to wcmEvent into one statement
    
    The extra wcmEvent call was to deal with generic PAD events received
    without motion events in the same packet. Those PAD events would be
    filtered out by the device type retrieving code later.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit db17462c0e85f880647f23a0e8bbfd4d20a38303
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Mar 5 16:45:45 2013 -0800

    Clean up device_type initialization for tool on tablet
    
    usbInitToolType retrieves device type from the kernel when tool
    is on the tablet at X server startup. No need to do it again later.
    
    Since kernel does not have a specific device type for PAD, we have
    to check the actual events to set its type.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit 6f9826217f50df8e315d3a7d694a4daf62f32c38
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Mar 5 16:44:52 2013 -0800

    Update MAX_CHANNELS definition
    
    Make room to report pen and touch events simultaneously
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit 1bca5eefa22afcce1ebe33812e7d17872ceeafca
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 5 09:41:47 2013 +1000

    Handle DEVICE_ABORT on input ABI 19.1
    
    And do nothing.
    
    USB devices are handled by the kernel, so we don't need to reset the HW.
    ISDV4 devices don't get reset on normal shutdown anyway, so we don't need to
    do anything here either.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ab53739dafee0e0f4a534220501bd067193ff109
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Mar 4 09:46:17 2013 -0800

    wacom 0.20.0
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 256567c6ad9ec120098d9dbf35e9dc609114bc9d
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Feb 26 10:40:53 2013 -0800

    wacom 0.19.99.1
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit be0b40d2453ba03d99a6dab460ad4007c4d97161
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Feb 26 09:39:20 2013 -0800

    Fix warning: format expects argument of type
    
    ../src/wcmXCommand.c: In function 'wcmCheckActionProperty':
    ../src/wcmXCommand.c:387:3: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long int' [-Wformat]
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit dc5608a2911cf0698db1dd083250e37b4a31d58f
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Fri Feb 22 11:14:21 2013 -0800

    Support pen/touch arbitration across product ids
    
    Devices with different product ids for pen and touch, such as
    Cintiq 24HD and DTH 2242, were added recently. Applying arbitration
    only for tools with same product id is not enough.
    
    However, we want to make sure tools with same product id are lined
    properly first. That's why the same routine is repeated instead of
    combined.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit 120f72f8f3fe5e74ed87c7ee3828243ba4ba054b
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Feb 21 19:01:25 2013 -0800

    Arbitration applies to puck/Wacom mouse as well
    
    We do not allow finger competes with CURSOR.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit 06afd180edad2b39dc717d266f5012ca93bd2d8f
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Feb 21 19:01:01 2013 -0800

    Fix pen and touch arbitration
    
    Arbitration did not work as expected since common is meant for tools
    on the same logical port, not for tools of the same physical device
    or of the same product id. Plus, not all devices support touch.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Acked-by: Jason Gerecke <killertofu@gmail.com>

commit 2ab2dd3d0d2bcd353730f11782aa64bb9dc58b2c
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Jan 17 17:42:24 2013 -0800

    Don't reset properties on checkonly
    
    We shouldn't make *any* change to the state if checkonly==true, but
    we've been resetting properties anyway. This blocks off the calls
    to the reset functions to prevent them from being called if it's
    just a drill.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5b9c2d84dfc206ee245ba22b92a6d1d824cff3f0
Author: Ping Cheng <pingc@wacom.com>
Date:   Mon Jan 28 15:59:30 2013 -0800

    Add Touch option to xsetwacom manpage
    
    We did not explicitly add this option when worked on the manpage
    since we thought Gnome control center (g-c-c) or something else
    in userland would take care of touch (as well as its gestures).
    However, I see no sign of getting touch in g-c-c soon. Let's take
    care of touch uers here for now.
    
    Wacom manpage is also updated accordingly.
    
    Reported-by: Nikolai Neff <gefrierbrand@users.sf.net>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>

commit 9a664ab7b99ca68e29f73196c216b3a6918325d5
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Jan 23 11:59:37 2013 -0800

    include: Move wacom-util.h after X11 headers
    
    Combined with the "#ifndef" in commit c95c1f2c, this fixes the compiler
    warnings generated about ARRAY_SIZE being redefined.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 352f33964f606370cf2ad6f4edf0800f18c8ed15
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Jan 23 11:13:07 2013 -0800

    Have wcmFindActionHandler return success/failure directly
    
    We can guarantee that the out arguments are non-NULL if the property
    was found, so return a boolean instead of relying on the caller to
    check for non-NULL results.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 59925bd45b714376b7f2ba07d0e443ed8db24861
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Jan 17 17:04:38 2013 -0800

    NONE is not a valid action, and NULL a bad value
    
    While the NONE Atom indicates that the driver should reset the
    action at the index it resides it, it is not *itself* a valid
    action. This patch prevents us from attempting to set NONE as
    an action.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5d5be5106183961da2b1e793c4a62e59c1274e01
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Dec 18 12:59:04 2012 -0800

    Have wcmSetActionProperty run checkonly
    
    Instead of checking only the 'actions' property, also check the
    individual 'action' properties as well. We obviously won't be able
    to correctly apply the former if the latter fails midway through.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3f5bc05608d59d08f0ce600afcc9a56acd294ab2
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Dec 17 17:24:43 2012 -0800

    Pass errors from wcmSetActionProperty up the stack
    
    Errors when setting an action property should not be swallowed. Note
    that because the containing function does not bother to call this
    function 'checkonly', clients still can't find out about errors
    until its too late. We'll fix this in the next commit.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ed561f701e4b2ba60fb5d8abf881e816118880a8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 22 14:09:29 2013 +1000

    Setting an invalid action property should return an error
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit 33cccd3fa4e5185857b2248b56509a97ed19df84
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Dec 17 16:56:06 2012 -0800

    Have wcmFindActionHandler properly handle wcmFindProp error
    
    If wcmFindProp cannot find the given property, it will return a
    negative error code. At the moment, this is taken as the success
    condition(!?) for the strip_actions case... Aside from being
    wrong, this has the potential to cause some nasty memory corruption.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2d38dac523145e3157a3b5fc200f13254f56219c
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Dec 17 16:55:30 2012 -0800

    Improve wcmFindProp readability
    
    The existing code is needlessly hard to follow. It should return
    immediately upon success, and unconditionally bail if it never
    succeeded.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7e418191a29f681331dd0134c8887d641d737410
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Jan 17 16:51:22 2013 -0800

    Increase maximum allowed X11 button number
    
    Actions specify X11 button numbers that should be generated when
    performed. The maximum button number that could be used in an event
    has been raised from the driver-imposed limit (WCM_MAX_BUTTON) to
    the server-imposed limit (WCM_MAX_X11BUTTON).
    
    This feature is necessary for gnome-settings-daemon to work properly.
    To reliably identify each touch strip and ring, g-s-d assigns each
    a high button numbers to send for each direction. Without this
    patch, the driver ignores the actions set by g-s-d and continues
    to send whatever the default action is instead.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 082f37feee3170521df4a1a1bbd91e0274282bf1
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Dec 18 12:58:45 2012 -0800

    Improve logging of X property setting
    
    Sprinkles a few extra DBG() calls into the code to make it a little
    easier to track down issues with property-setting code.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b6bd20a660f6c682f9de3372b3f1a636a34d9b65
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jan 18 08:43:52 2013 +1000

    test: replace INCLUDES with AM_CPPFLAGS
    
    see https://lists.gnu.org/archive/html/automake/2012-12/msg00038.html
    
    - Support for the long-deprecated INCLUDES variable will be
      removed altogether in Automake 1.14.  The AM_CPPFLAGS variable should be
      used instead.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 4cffb337d7dc43d17e11a28f70a8be11f21d74ff
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 10 11:30:15 2013 +1000

    Fix a debug message not parsed by sigsafe printf code
    
    The server doesn't interpret %g, use %f instead. tbh, right now it doesn't
    interpret %f either, but there's patches on the way for that.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit b7a2d8e7eb57fb11ec7753d555ab479475fe5230
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 10 11:25:07 2013 +1000

    Drop unused maxWidth/maxHeight
    
    These two are never set to anything but 0 since
    xf86-input-wacom-0.10.10-19-g6f5f29b
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit a7de9daa67afbf0c721e681809be2fbe519d26c8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 19 12:37:03 2012 +1000

    Fix indentation in usbStart()
    
    No functional changes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c95c1f2c2d449f78eae109b927db85db05ab9a6f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 20 13:21:37 2012 +1000

    include: don't redefine ARRAY_SIZE
    
    The server provides this macro in its headers, so only redefine it where
    needed (for the tools)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bc2de318b5ad131fb60d3c5a057c185f764969a1
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Jan 2 11:15:53 2013 -0800

    wacom 0.19.0
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit c29dbba29eb6e8ab1494339c29483b0e1068d894
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Dec 20 17:21:29 2012 -0800

    Properly map 2nd abswheel of Cintiq 24HD touch
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 654fdcb188e272f4122ea128612e899b397b0709
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Dec 19 11:15:21 2012 -0800

    wacom 0.18.99.1
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit d4aad5dd0c0d010701e2d3f46d9cd98daf6883e4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 19 13:43:09 2012 +1000

    If ds.device_type is 0, set it to the one we guessed earlier
    
    priv->wcmDeviceType contains the guessed device type, after querying the key
    state from the kernel. If that found our device type, use it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Jason Gerecke <killertofu@gmail.com>

commit 7e86e9871459c980a95bcea98dd0a2890b0b584a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 19 13:43:08 2012 +1000

    Fix missing braces around condition in refreshDeviceType
    
    Causing this function to always return 0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Tested-by: Jason Gerecke <killertofu@gmail.com>

commit 5209f14707c7d1446c0987adba74cb46028dbf3c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 19 13:43:07 2012 +1000

    Handle BTN_TOOL_MOUSE/LENS in toolTypeToDeviceType
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Tested-by: Jason Gerecke <killertofu@gmail.com>

commit 37734d52cc1ce84ba5153bb45587892b5070c9c5
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Dec 18 14:48:20 2012 -0800

    Filter out DOUBLETAP and TRIPLETAP events for true MT data
    
    DOUBLETAP and TRIPLETAP are duplicated events in type-B MT format.
    We do not use them in this driver. Plus, they could be confused
    by fake MT events on older kernels.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>

commit 1f9bf45bdf2eb58491fa578aa6b9ce55a9c13366
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Dec 18 14:47:53 2012 -0800

    Assign PAD_CHANNEL to BTNChannel for all PAD tools
    
    BTNChannel is static for all devices, not just geneic devices.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit 62e5222c14cb4d282a3a285e7dd84f0ea1d00e36
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Dec 13 12:19:23 2012 -0800

    BTN_TOOL_FINGER is not for PAD if MT is supported
    
    BTN_TOOL_FINGER indicates single touch/first finger if MT is enabled
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit b5bcd03d12773e3147b4eb5d6a2a39b4c06bb9f4
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Dec 13 12:18:37 2012 -0800

    Send generic PAD events before other events
    
    If we wait until we finish other verifications, we could miss
    PAD events since they will be filtered out when there are no
    motion events sent simultaneously.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Acked-by: Jason Gerecke <killertofu@gmail.com>

commit 6bd777a7d15c071dc2079fb8bcb4a7f13685aeba
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Dec 13 12:18:02 2012 -0800

    Initialize wcmBTNChannel in usbWcmInitPadState()
    
    wcmBTNChannel is only used by generic PAD device.
    And it is statically assigned to PAD_CHANNEL. No
    need to reassign it for every packet.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Acked-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit f310e20f6a3dc519f7d318ee53c1024f28892991
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Dec 13 12:16:52 2012 -0800

    Remove channel duplication code for generic devices
    
    We use true MT protocol for MT devices in kernel now. This code
    was introduced to deal with ABS_TOOL_*TAP events loss issue. It
    is uncessary any more. And its existence makes it hard to support
    generic PAD cleanly.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Acked-by: Jason Gerecke <killertofu@gmail.com>

commit 5d0f8c1abea4b1a791d169ffb15a0b2aee50a7d3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 10 15:35:38 2012 +1000

    man: CursorProx affects absolute mode as well
    
    Update man-page for driver behavior.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit f3ede09dd504e2ca054bbac7413bd9a3416ec31f
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Dec 4 14:51:32 2012 -0800

    Convert resolution from points/inch to points/m
    
    Somehow we forgot Lenovo W700 last round.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2b285d01e1c03b51a8526516acda208edbeeac89
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Dec 4 14:51:05 2012 -0800

    Update resoltuion for old kernels
    
    We upscaled resolutions in WacomModelDesc and reported from
    absinfos. But we forgot to update them for older kernels
    that do not support resolution in absinfo.
    
    Resolution received from kernel is in hundredths of a mm.
    The scale we use here is in meter.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a82f0251e400b98b0044f2c8ab89c4b61ec99d4f
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Dec 4 14:50:42 2012 -0800

    Post maximum number of contacts to clients
    
    Clients should know the maximum number of contacts a touch device
    support before they get touch events.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 26a6a42fd0a726518f62b8da6926b111a01b33cf
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Nov 14 09:54:34 2012 -0800

    Properly clear action properties
    
    What we want to do is clear all 256 steps of an individual action. What
    we were doing was clearing just the first step.
    
    As mentioned on the ArchWiki, this cuases the following behavior:
      $ xsetwacom --set <id> Button 1 "key a b c" # press button 1 -> abc
      $ xsetwacom --set <id> Button 1 "key d"     # press button 1 -> dbc  WRONG!
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5899942e84d4ae7498ea0cc764aa05b609738d7f
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Nov 21 12:14:10 2012 -0800

    Add support for MT ISDv4 device 0x4001
    
    It supports up to 10 fingers
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 38018e941ff197d00867feff4fe7fb501f584826
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Nov 21 12:13:44 2012 -0800

    Support up to 16 touch points
    
    Bamboo3 and Intuos5 both support 16 fingers
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4ba50c66d65d11232e169d3202ea4a34e06362de
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 21 16:12:48 2012 +1000

    Bring back AM_MAINTAINER_MODE, default to enabled
    
    See Ron's comments discussion on:
    http://old.nabble.com/-PATCH-libwacom--Drop-AM_MAINTAINER_MODE-td34561358.html
    
    Summary:
    In this workflow all generated files are committed to git to have a known
    working set. On checkout, git does not restore the original timestamps,
    so with maintainer-mode enabled, automake will regenerate the files - which
    is to be avoided since we already have the known working set.
    
    AM_MAINTAINER_MODE([enable]) gives us the same behaviour as now, but will
    allow Ron to disable the regeneration of the files.
    
    Requested-by: Ron <ron@debian.org>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 0c417e33d5b45ce9206448fb45de9338c25c1f5d
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Nov 5 09:10:27 2012 -0800

    Don't declare touch_mask on older servers
    
    Missed necessary preprocessor guard in 0d164e66.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3474d206359cf54e991d5dfeff04ed00efa3ce4e
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Oct 26 16:01:47 2012 -0700

    wacom 0.18.0
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit b3e52e3f921a8f28962ec6e369db1235f046168c
Author: Ping Cheng <pingc@wacom.com>
Date:   Thu Oct 25 17:47:24 2012 -0700

    Add three MT ISDv4 devices (E5, 100, 101)
    
    Signed-off-by: <pinglinux@gmail.com>

commit 97358d0effeb4b72af095cb67d12881286f6fb04
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Oct 23 10:20:17 2012 -0700

    Have direct-touch devices move into and out of GESTURE_DRAG_MODE
    
    Direct-touch devices (e.g. tablet PC, 24HD touch) are currently left in
    GESTURE_NONE_MODE while performing drags. This can lead to potential
    "stuck button" issues, since as soon as a second finger comes in
    contact, the driver will switch to GESTURE_LAG_MODE. This prevents the
    wcmSingleFingerPress function from being called, leaving button 1 in a
    pressed state. While any subsuquent gesture will release button 1, if
    the pen is brought into proximity before one occurs, the fingers will be
    sent out of proximity without a chance to release button 1. This causes
    the button to remain "stuck" in the pressed state until the next touch
    occurs.
    
    There are a few different ways this issue could be addressed. In the
    interest of symmetry with indirect-touch devices, this patch has
    direct-touch devices enter and exit GESTURE_DRAG_MODE as well. This
    delays the mode swith to GESTURE_LAG_MODE by one event, allowing
    wcmSingleFingerPress to be called to release button 1.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=56308
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 74396082c690800a04d20dab2c41e873836774aa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 24 17:13:25 2012 +1000

    If _source is NULL, don't auto-pick the type.
    
    An xorg.conf InputDevice section that does not have Option Type set is
    invalid. Skip the type assignment and return, triggering an error about an
    invalid type lateron.
    
    Fixes crash triggered as of xf86-input-wacom-0.17.0-8-g0debde6 by having an
    InputDevice section like this:
    
    Section "InputDevice"
        Identifier "--device--"
        Driver "wacom"
        Option "CorePointer" "on"
    EndSection
    
    This would lead to the device being assigned a type and assumed to be for
    hotplugging. Later, when the device attributes are duplicated during
    QueueHotplug, asprintf() tries to duplicate attr->product, which is always
    NULL for xorg.conf devices.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit 9f896f4800593c7fa232e40fd934b7f51d0dde6d
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Oct 19 17:15:58 2012 -0700

    wacom 0.17.99.1
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 8b412136a4bd032534bd0eb970a4a06c942fcf59
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Oct 19 17:13:13 2012 -0700

    Limit use of touch class to touch devices only
    
    Applying the touch class to all devices shouldn't really affect
    anything, but just to be sure we surround it in a IsTouch() check.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 637651338015563c6847028870aaa08b293f1ef1
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Oct 18 13:06:36 2012 -0700

    Correct number of actions reported by sendWheelStripEvent to sendAction
    
    Commit 477a261e has sendWheelStripEvent use the ARRAY_SIZE macro on a
    pointer. This will not return a proper value, causing the wrong array
    length to be provided to sendAction. This can lead to only the first few
    actions assigned to a wheel or strip actually being performed.
    
    This patch changes the signature of sendWheelStripEvent to accept an
    explicit length.
    
    https://sourceforge.net/tracker/?func=detail&aid=3577713&group_id=69596&atid=52$
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit e81c1400b023be49afc3f62066d21281a1c2bb95
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Oct 18 12:52:15 2012 -0700

    Have getWheelButton deal with array indices instead of pointers
    
    This patch modifies the function signature of getWheelButton so that it
    accepts and returns array indices rather than pointers. This is in
    preparation of the next commit, which would be needlessly unreadable
    otherwise.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit cc855c1c4f1815c691fbef2293d04b78f28ffc42
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Oct 17 18:02:56 2012 -0700

    Restore pad button functionality
    
    Commit b0083492 broke pad buttons by no longer setting the wcmBTNChannel.
    With this variable left uninitialized, pad button data would be stored
    in another channel (e.g. 0) without any other data like proximity set.
    
    This commit sets wcmBTNChannel to point to the channel used for
    storing pad data whenever a pad packet is detected.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Acked-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7c91665c86c93b9668a1649d20b32550fbdc544b
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Aug 2 09:23:55 2012 -0700

    Add support for Cintiq 24HD touch
    
    Adds support for the EMR and touch digitizers on the Cintiq 24HD
    touch. The digitizers are on separate USB devices, which can lead to
    the cursor jumping back and forth between the stylus and finger.
    Performing arbitration between the two (disabling finger while pen is in
    proximity) is expected to be handled by the kernel driver.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8c17d224a5df855ccdb1bb15862156782532074c
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Oct 8 11:03:18 2012 -0700

    Add recently-referenced functions to fake-symbols
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c85ecf117d4937b6943b5a1215711c99389e5c46
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 17 08:25:19 2012 +1000

    Drop AM_MAINTAINER_MODE
    
    We want xf86-input-wacom to react to changes in Makefile.am's
    
    Long writeup:
    http://blogs.gnome.org/desrt/2011/09/08/am_maintainer_mode-is-not-cool/
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 72508ebe5533501758aad073f120b50f04ac0060
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Oct 2 14:29:24 2012 -0700

    Fix prerequisite check in wcmUpdateSerial
    
    The prerequisite check in wcmUpdateSerial is incorrect. If the tool ID
    changes, the property reflecting it will not be updated unless/until the
    serial number also changes. The check is updated to reflect this.
    
    Additionally, the prerequesite check at one of its callsites is removed
    since the function performs the same check internally.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=45237
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Ping Cheng <pingc@wacom.com>

commit 3e9be03fe19db693f600844b24ce66cefcf6267a
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Sep 21 19:57:00 2012 -0700

    Move check for enabled gestures to the functions that execute them
    
    At the moment, disabling gestures disables *all* gestures. That includes
    the core "tap to click" gesture (and slightly-less-core "tap and hold to
    drag"). This patch allows these two gestures to not be considered such
    by moving wcmGesture check into the functions that execute the gesture.
    All two-finger functions (right click, scroll, and zoom) are disabled by
    wcmGesture, but all single-finger functions remain operational.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>
    Tested-by: Chris Bagwell <chris@cnpbagwell.com>

commit 0d164e66cbb7119d68d2008242f0ec2cca2202a7
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Sep 26 10:57:27 2012 -0700

    Use new multitouch protocol in XI2 if possible
    
    Adds a new MULTITOUCH gesture mode that will redirect all in-contact
    touches through the new multitouch code available in XI2.2 (ABI >= 16).
    
    MULTITOUCH mode will only be entered when in-driver gestures have been
    disabled and at least two fingers are present. The driver will remain
    in this mode until *all* fingers have left the tablet.
    
    For the moment, all touches are sent as XIDependentTouch. Direct touch
    devices such as tablet PCs and Cintiqs are not an exception. This may
    be changed in the future once frameworks are better equipped to handle
    direct input touches.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Tested-by: Chris Bagwell <chris@cnpbagwell.com>

commit a6f1e4b10524cba3272147537cef036e860cac4c
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Sep 18 16:06:55 2012 -0700

    Dynamically choose channel for ABS_MT data
    
    Now that the touch code doesn't look in statically-defined
    channels and usbChooseChannel is capable of locating channel
    numbers for arbitrary tool type/serial combinations, we can
    use the latter to track an aribrary number of touches without
    fear of stepping on the toes of another channel.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Tested-by: Chris Bagwell <chris@cnpbagwell.com>

commit f85f025b4ad08295222a1264b4d2cfb20ccdb918
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Sep 21 13:56:21 2012 -0700

    Have usbChooseChannel take explicit device type and serial args
    
    Instead of divining this information from the stored private data,
    take them as arguments. This gives us more flexibility in finding
    channels for sub-tools (e.g. individual fingers).
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Tested-by: Chris Bagwell <chris@cnpbagwell.com>

commit b00834928e81ca2ddaaf00c78a2ea1a4ac50b19c
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Jun 25 17:32:43 2012 -0700

    Simplify usbChooseChannel logic
    
    Instead of having different per-protocol cases, just obtain serial
    numbers equivelent to those you'd get from Protocol 5 and then
    use that serial to find a channel dynamically.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Tested-by: Chris Bagwell <chris@cnpbagwell.com>

commit afb25836e6350b5aaea76ccc68b2e16d382e1398
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Aug 1 17:10:27 2012 -0700

    Make usbInitToolType more generic, and always use
    
    Tweaks the usbInitToolType function to be always useful. This is
    needed so that we can use it to get the tool type for all event
    frames, allowing us to properly fill in the tool type for devices
    that we otherwise don't figure out until later on (which causes
    problems with the proper operation of usbChooseChannel).
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Tested-by: Chris Bagwell <chris@cnpbagwell.com>

commit 63cf3c5a2a04559838ec6fd6b9e7e808818072b1
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Sep 21 19:07:57 2012 -0700

    Dynamically find touch channels, instead of hard-coding
    
    Right now the driver assumes that the first touch will always
    be in channel 0, and the second touch (if present) is in
    channel 1. This patch adds a new function to scan the channel
    list for appropriate contacts, and uses it instead of the
    hard-coded index accesses.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Tested-by: Chris Bagwell <chris@cnpbagwell.com>

commit 709e0aa23f34003d4526cbf9435a295ee83e0ee0
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Sep 21 19:13:45 2012 -0700

    Use serial number instead of channel number to identify contacts
    
    Code that deals with touch points shouldn't care which channel an
    event is occuring in; it should be more concerned with the finger
    that caused it. At the moment these are the same things (first
    finger is always in channel zero), but this will soon change.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Tested-by: Chris Bagwell <chris@cnpbagwell.com>

commit 67822ebb90a89f5d95ed45a316d905a10c87fc53
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Sep 18 16:24:22 2012 -0700

    Add and use a 'dirty' bit for WacomChannel
    
    Instead of keeping around 'channel_changed', 'mt_channel_changed',
    and 'btn_channel_changed', just add a flag to the WacomChannel
    itself that can be set whenever something changes.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Tested-by: Chris Bagwell <chris@cnpbagwell.com>

commit 0debde6b14a1765e1dd5a483faafe6b90e0e62ba
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Sep 24 16:30:05 2012 -0700

    Properly handle nulls in wcmIsHotpluggedDevice
    
    Commit def7b5fd changed how wcmIsHotpluggedDevice handles null values,
    with the result that a device with no "_source" specified would be
    interpreted as having been hotplugged. This restores the original
    behavior.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1b4da8527d2719cc9ab1f5ed1390ffac44772230
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Sep 24 16:12:29 2012 -0700

    Properly handle nulls in wcmCheckSource
    
    Commit cff344b1 modified the null-handling of wcmCheckSource, such
    that the wrong result will be returned if either/both  fsource and
    psource are null. This patch restores the original behavior.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0a27c707eafe57a85266452a395f89c8237efdbf
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Sep 24 17:53:49 2012 -0700

    Fix double-free in wcmPreInitParseOptions
    
    The 'tool' function here is set equal to 'priv->tool' earlier in
    this function. If an error condition occurs, the tool can be freed
    both here and in wcmFree (via wcmUninit).
    
    It should be safe to postpone this free() until wcmFree to be
    freed along with the rest of the memory allocated in wcmAllocate.
    There should be no leak (wcmUninit will be called on failure) and
    any code relying on priv->tool being a valid pointer after the
    failure of wcmPreInitParseOptions is already broken.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=55200
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 59941213fb8972abc1cd3bf3762444ab73ae1329
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Jun 27 10:28:53 2012 -0700

    Device grab should be optional
    
    Like in recent versions of xf86-input-evdev, grabbing the input device
    with EVIOCGRAB should be optional. This would enable for example
    indicator applets, and would improve dynamic handling of different input
    devices.
    
    Proposed patch extended to document new GrabDevice driver option.
    
    https://sourceforge.net/tracker/?func=detail&aid=3509828&group_id=69596&atid=525124
    
    Reported-by: henris42

commit 0fe7f800295a4b5bf074bca798cf8024fcb174ec
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Sep 13 16:59:01 2012 -0700

    Ignore out-of-prox events from unknown devices already out-of-prox
    
    Fixes an issue with the Intuos5, which sends extra out-of-prox
    notifications when the ExpressKeys are touched. This causes the driver
    to ask the kernel for the tool currently in prox and post an empty event
    for it. The result is a cursor that (only while the pen is in prox)
    sometimes jumps to the top left when touching the buttons.
    
    We fix this by ignoring events that claim to be leaving prox when the
    tool is already supposedly out of prox.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=54250
    
    Reported-by: Timo Aaltonen <tjaalton@ubuntu.com>
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit e604e4e6c69898920e27aeed5a772484d796562b
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Sep 7 12:24:23 2012 -0700

    Have keysym_to_keycode handle unused keycodes
    
    The current implementation of keysym_to_keycode does not
    properly handle unused keycodes. The functions XkbKeySymsPtr
    and XkbKeyGroupWidth mislead it into believing it is reading
    a keysym associated with the unused keycode when in reality
    it is reading a keysym associated with the *next used*
    keycode.
    
    This impacts different keys depending on the keyboard layout
    in use. On mine for instance, the left Super key is unusable
    because its keycode is preceeded by an unused keycode.
    
    To resolve this issue, we take a page from XKeysymToKeycode
    and use the function XKeycodeToKeysym instead of manually
    accessing the keysyms.
    
    https://sourceforge.net/tracker/?func=detail&aid=3555424&group_id=69596&atid=525124
    
    Reported-by: alexmaret
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit cea5cc1f25c3a1d9f1feec88b0c4d8af59b47a74
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Sep 6 09:41:26 2012 -0700

    Add LogMessageVerbSigSafe to fake-symbols
    
    Somehow overlooked this while adding 'xf86MsgVerb' to fake-symbols.
    Oops.
    
    Reported-by: Timo Aaltonen <tjaalton@ubuntu.com>
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 2f2acecb97e1ac941e85ddbb704e3ce7f37d0261
Author: Nikolai Kondrashov <spbnick@gmail.com>
Date:   Tue Aug 28 23:17:28 2012 +0300

    Use kernel-reported tilt range and resolution
    
    Use tilt range and, optionally, resolution reported by the kernel for event
    devices.
    
    Add a constant for resolution currently expected by applications: TILT_RES,
    1 point per degree in kernel units (points/radian). Scale values to this
    resolution for compatibility and specify it for corresponding valuators
    (instead of 1) for future use by applications.
    
    Add constants for currently reported value limits: TILT_MIN and TILT_MAX,
    -64 and 63 respectively. Continue clamping values to [TILT_MIN, TILT_MAX]
    for compatibility.
    
    Values and ranges reported by currently supported tablets should remain
    unchanged.
    
    Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit c246b7e4f756856d0d32501f86c7d655efe97106
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Sep 5 09:22:26 2012 -0700

    wacom 0.17.0
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit e918c957f1c77fda3dec3fb9cb38ded6ffed9ca4
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Aug 27 09:42:37 2012 -0700

    wacom 0.16.99.1
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 03583c5a54292cd484d41656e141e3c65ed961da
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Aug 27 10:28:54 2012 -0700

    Add xf86MsgVerb to fake-symbols to let 'make distcheck' complete
    
    The switch from 'xf86Msg' to 'xf86MsgVerb' introduced in commit
    e4c1af41 requires that we define the latter in our fake-symbols
    so that the test suite can compile correctly.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 625a43c040fd71393be94fdfad6cf7faa49db775
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Aug 22 15:05:48 2012 -0700

    Make test_get_wheel_button happy
    
    Apparently there is some subtle difference here between returning
    a pointer and using a double-pointer as an output parameter.
    Tracing through the function shows the former *should* be working,
    but for an unknown reason fails "assert(action == &action_dn)"...
    
    This patch shouldn't change any functionality -- it just shuts up
    `make distcheck`.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit d8613ffc961be4c957ed30d4ac03e83411f835b6
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Aug 22 11:30:14 2012 -0700

    Update test to match new function signature
    
    The getWheelButton function's signature was changed in commit 40ecdcb5
    but the tests were not updated to reflect this.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit ac17300d842f2842eff3a2b2aa3dbac7ebf88a2b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Aug 23 09:03:34 2012 +1000

    Pre-allocate the tap timer
    
    wcmSingleFingerTap() is called during SIGIO, calling TimerSet(NULL, ...)
    will malloc inside the signal handler and hang the box.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>

commit b5a6983c62d233cfc7174f8f48e3abf3064c04ce
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 20 12:14:28 2012 +1000

    Log debug messages in signal-safe manner
    
    This is a rather broad brush, logging all messages in DBG() through the
    signal-safe interface instead of just the ones that really need it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 90cdf85ca3a3d08f79bf6928cd11edaf08b81786
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 29 16:51:00 2012 +1000

    Use signal-safe logging patches where necessary
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 58d2a675b616af9e575f0bc0dcec7950a5498c9d
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Jul 10 09:29:01 2012 -0700

    Set WCM_LCD on the Cintiq 24HD
    
    This flag was apparently forgotten when the 24HD was originally
    added.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 8dcf5ee466cfb14490fa52c8af8a4cbac92036f7
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Jul 25 17:39:49 2012 -0700

    Add missing newline to error message
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit b620267a709cb399338641fcc4c671aad2c7986c
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Jul 25 12:18:17 2012 -0700

    Internally use physical button numbering for actions
    
    One should not have to keep in mind the historic quirk that
    mouse buttons 4-7 have when dealing with buttons events generated
    by the tablet. This patch isolates conversion between physical
    and X11 numbering to the single place it has historically
    mattered: the button property getters/setters.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 40ecdcb59952cea69a2b520c34e21922fbaa2c62
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Feb 27 10:38:52 2012 -0800

    Remove raw button fallback codepaths from wcmCommon
    
    With actions now defined on initialization and reset to default
    when given a 'None' action, we can remove the raw button codepaths
    without a noticible change in driver behavior.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 089a397e5a32aa2e8e212a2c908c7ac782f2b398
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Apr 2 17:05:43 2012 -0700

    Reset-on-None for Actions property
    
    This patch adds the ability to reset an individual Action by
    setting the corresponding element of an Actions property to
    the 'None' atom (i.e. 0). When encountered, the None will be
    replaced with an atom representing the default Action. This
    will let the driver behave as it currently does once raw
    button support is removed.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 8c1f585446f56303058840fc40c133c0bab9cc7c
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Apr 3 10:10:59 2012 -0700

    Initialize action properties from defaults
    
    This patch adds functions capable of resetting the action
    properties (button/stip/wheel) to their default, and calls
    them on initialization.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 8c6711b14b105770e792e6de08cd1e05ddd07ba5
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Apr 3 10:09:32 2012 -0700

    Cleanup call chain for action properties
    
    This patch rewrites the call chains used for setting the three
    action properties by introducing a single function to handle
    the 'Actions' properties, and a single function for 'Action'
    properties. Functions which were merely helper functions have
    been inlined if appropriate.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 29be2391f3f07b04103a2146bece728421aa41e3
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Feb 6 12:42:04 2012 -0800

    Remove support for 8-bit (raw button) strip/ring properties
    
    This patch removes the ability to set up the touchstrips or
    touchrings with raw 8-bit button numbers. Buttons have been
    without this ability for quite some time, and this brings
    these two properties in line.
    
    This patch will break applications which rely on the use
    of raw buttons in the properties, but the actual fallout is
    expected to be minimal. Applications which don't understand
    Actions are already broken (since they can't work with buttons)
    and those that do understand Actions but don't use them can
    be easily modified.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 0512c1add914e090feaaa55586b32be84a0cdd8c
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Feb 10 12:06:47 2012 -0800

    Replace multiple default variables with arrays
    
    Storing the defaults for strips and wheels in individual
    variables makes updating and scanning through them very
    tedious. This patch replaces the variables with arrays
    and introduces new #define statements to keep the level
    of semantic meaning we had.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 0233668825401bda5473945ad7277c0bf9f89958
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Feb 10 11:29:45 2012 -0800

    Directly index into the various *keys arrays
    
    The 'keys' array is indexed into by reference to the X11 button
    number stored in the 'buttons' array. While this may have been
    useful at some point in time, the benefits have since gone and
    left behind nothing but headaches.
    
    Note that because the association with X11 buttons has been
    removed, action mapping (via xsetwacom) no longer depends on
    on the raw mapping (via xorg.conf). For instance, on a system
    which has 'Option "Button3" "1"' set, use of the command
    'xsetwacom set <id> button 1 10' will no longer cause *both*
    button 1 and button 3 to emit button 10. Its unlikely anyone
    relies on this quirk, but can be easily worked around if
    necessary.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 9f32b03930802040ba1001258d824aefafd003d0
Merge: 1a8db01 7a87594
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 13 16:17:39 2012 +1000

    Merge branch 'release-script-fixes'

commit 1a8db01e896514d06f7a69c647aac05832d54ea7
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Jul 12 17:23:00 2012 -0700

    Add Cintiq 22HD
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7a875941c326db3ff257b6debd79279c62285c9f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 10 09:59:03 2012 +1000

    release.sh: support other modules (i.e. libwacom and input-wacom)
    
    Add a --module switch to the release script so we can use the same script
    for all three linuxwacom projects.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 28ddd9285d8dc3273a3ef6bf0a4fc34af97c6546
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 3 08:52:52 2012 +1000

    release.sh: complain if tags are missing
    
    Previously we only checked the previous tag, not the current one. Move the
    check up a bit, make it more explicit.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 9d42bcf72b9a0a4699deb29e3781859a1e68017f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 10 09:37:55 2012 +1000

    release.sh: remove gz tarball handling
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 5d85fe22a2b8565b80185c110d10a738b51794fb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 3 09:02:37 2012 +1000

    Stop generating .gz files
    
    One tarball is enough and bz2 is common enough that we don't need both.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Jason Gerecke <killertofu@gmail.com>

commit 3ac24ba7aea62f1a12d73a81fca87a4bcfa5568e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 29 10:16:03 2012 +1000

    Don't init the rotation property on the pad
    
    Rotation doesn't do a lot on a device without usable axes
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>

commit f5b89e44aa70d5297330014694c04d46f6e96a72
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Jul 9 09:56:54 2012 -0700

    wacom 0.16.0
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 35ba79a91257e9da5c8d749be382ec1841c78057
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Jun 27 15:25:45 2012 -0700

    wacom 0.15.99.1
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit ed550599a71defd879ef6a660ab64db5f2961394
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Jun 27 11:07:39 2012 -0700

    Cleanup wcmInitAxes
    
    No functional change.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 6bf3c65d44ce343bf8d2f0d0f1bb9bc86aba3fe1
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Jun 27 11:00:44 2012 -0700

    Provide consistent 'filler' axes to X
    
    Axes which aren't used by specific devices 'leak' some of the
    settings of the prior axis while creating the necessary 'filler'
    axis. This patch resets the variables to their proper defaults
    for each valuator's initialization.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 1e14dda8a512b90cf9dd5d830d1e1257e80651c4
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Jun 22 12:44:47 2012 -0700

    Create a wrapper for InitValuatorAxisStruct
    
    wcmInitAxes calls InitValuatorAxisStruct seven times, with each
    call requring two ifdefs each. To keep this function readable,
    this patch adds a wrapper function that centralizes all that
    ifdef uglyness into a single spot.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 00560b81d700d04518beef9cf5bfa7c58b4a8d51
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Jun 25 12:21:44 2012 -0700

    Find mouse buttons on pad devices if no generic buttons found
    
    Devices like the Graphire4 and Bamboo-series have Pad buttons
    which emit "mouse button" events (e.g. BTN_FORWARD) instead of
    the usual "generic button" events (e.g. BTN_0). Currently, the
    code considers the former to be valid for the Pad device only
    if the tablet doesn't also support a Cursor device. Devices
    with mouse buttons on the Pad *and* have a Cursor device
    (like the Graphire4 and very early Bamboos) end up declaring
    zero Pad buttons because of this, causing us to allocate
    an insufficient number of actions and thereby prevent the
    re-mapping of their forward and back buttons.
    
    This patch changes the condition from "no Cursor device exists"
    to "no generic buttons exist". In theory this can result in the
    Pad claiming it has buttons when none physically exist, but it
    shouldn't result in any problems.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Acked-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 23b704aab02903954a2184708dcecf42ad896ac9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 22 16:04:45 2012 +1000

    xsetwacom: fix leak in set()
    
    move out: statement up to make sure we free values on error as well.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit bef544bef0be59f9fdff9231ce85cd41e4149975
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri May 25 10:09:37 2012 -0700

    Re-enable relative wheel scrolling from pad devices
    
    Commit 477a261e does not handle the case where relative wheel events
    come from a pad device. The Graphire4 produces such events, with the
    result that scrolling with one has been broken ever since.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6973a8e0256ba2b2d84ce73058da23b2fd1668c6
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 11:16:03 2012 -0700

    Align returned type of wcmEventAutoDevProbe with expected type
    
    There's some cognitive dissonance when reading "return FALSE"
    in a function that returns a pointer (despite FALSE and NULL
    being equivalent).
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fb22158f3361afa68808a10e2eece00617921faf
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 12:31:25 2012 -0700

    Fix warning: Re-scope variable in wcmPreInitParseOptions
    
    ../src/wcmValidateDevice.c: In function 'wcmPreInitParseOptions':
    ../src/wcmValidateDevice.c:801:9: warning: declaration of 'b' shadows a previous local [-Wshadow]
    ../src/wcmValidateDevice.c:708:22: warning: shadowed declaration is here [-Wshadow]
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 19681d6a8bb0a4dbcf5fb9174d79ea6232ac895a
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 12:02:09 2012 -0700

    Fix warning: Remove variable re-definition in wcmSerialValidate
    
    ../src/wcmISDV4.c: In function 'wcmSerialValidate':
    ../src/wcmISDV4.c:167:7: warning: declaration of 'n' shadows a previous local [-Wshadow]
    ../src/wcmISDV4.c:161:6: warning: shadowed declaration is here [-Wshadow]
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit def7b5fd2776b0455eca09641df8ed1c5e17bd37
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri May 25 12:18:05 2012 -0700

    Fix warning: Swap empty string for NULL in wcmIsHotpluggedDevice
    
    ../src/wcmConfig.c: In function 'wcmIsHotpluggedDevice':
    ../src/wcmConfig.c:442:2: warning: passing argument 3 of 'xf86CheckStrOption' discards 'const' qualifier from pointer target type
    [enabled by default]
    In file included from /usr/include/xorg/xf86str.h:43:0,
                     from /usr/include/xorg/xf86.h:44,
                     from ../src/xf86Wacom.h:33,
                     from ../src/wcmConfig.c:24:
    /usr/include/xorg/xf86Opt.h:87:24: note: expected 'char *' but argument is of type 'const char *'
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b798ae8012a13a0dcaa903e0fdb4ad8e38106b41
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 12:22:30 2012 -0700

    Fix warning: Swap empty string for NULL in wcmIsAValidType
    
    ../src/wcmValidateDevice.c: In function 'wcmIsAValidType':
    ../src/wcmValidateDevice.c:139:2: warning: passing argument 3 of 'xf86CheckStrOption' discards 'const' qualifier from pointer target type [enabled by default]
    In file included from /usr/include/xorg/xf86str.h:43:0,
                     from /usr/include/xorg/xf86.h:44,
                     from ../src/xf86Wacom.h:33,
                     from ../src/wcmValidateDevice.c:23:
    /usr/include/xorg/xf86Opt.h:87:24: note: expected 'char *' but argument is of type 'const char *'
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit afac3b0430386d92d31623b065e9ed206e9cdcdd
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 12:20:23 2012 -0700

    Fix warning: Swap empty string for NULL in wcmNeedAutoHotplug
    
    ../src/wcmValidateDevice.c: In function 'wcmNeedAutoHotplug':
    ../src/wcmValidateDevice.c:574:2: warning: passing argument 3 of 'xf86CheckStrOption' discards 'const' qualifier from pointer target type [enabled by default]
    In file included from /usr/include/xorg/xf86str.h:43:0,
                     from /usr/include/xorg/xf86.h:44,
                     from ../src/xf86Wacom.h:33,
                     from ../src/wcmValidateDevice.c:23:
    /usr/include/xorg/xf86Opt.h:87:24: note: expected 'char *' but argument is of type 'const char *'
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit de33b3dffbb959ec77c9bd89c7d9d3e7a8451c15
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 12:18:17 2012 -0700

    Fix warning: Swap empty string for NULL in wcmIsDuplicate
    
    ../src/wcmValidateDevice.c: In function 'wcmIsDuplicate':
    ../src/wcmValidateDevice.c:85:2: warning: passing argument 3 of 'xf86CheckStrOption' discards 'const' qualifier from pointer target type [enabled by default]
    In file included from /usr/include/xorg/xf86str.h:43:0,
                     from /usr/include/xorg/xf86.h:44,
                     from ../src/xf86Wacom.h:33,
                     from ../src/wcmValidateDevice.c:23:
    /usr/include/xorg/xf86Opt.h:87:24: note: expected 'char *' but argument is of type 'const char *'
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cff344b105318854ae2b0a9dec3684be38c5ae02
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 12:16:16 2012 -0700

    Fix warning: Swap empty strings for NULL in wcmCheckSource
    
    Also cleans up variable scope.
    
    ../src/wcmValidateDevice.c: In function 'wcmCheckSource':
    ../src/wcmValidateDevice.c:37:2: warning: passing argument 3 of 'xf86CheckStrOption' discards 'const' qualifier from pointer target type [enabled by default]
    In file included from /usr/include/xorg/xf86str.h:43:0,
                     from /usr/include/xorg/xf86.h:44,
                     from ../src/xf86Wacom.h:33,
                     from ../src/wcmValidateDevice.c:23:
    /usr/include/xorg/xf86Opt.h:87:24: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmValidateDevice.c:52:4: warning: passing argument 3 of 'xf86CheckStrOption' discards 'const' qualifier from pointer target type [enabled by default]
    In file included from /usr/include/xorg/xf86str.h:43:0,
                     from /usr/include/xorg/xf86.h:44,
                     from ../src/xf86Wacom.h:33,
                     from ../src/wcmValidateDevice.c:23:
    /usr/include/xorg/xf86Opt.h:87:24: note: expected 'char *' but argument is of type 'const char *'
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d691c978d695c2b4882b4ba3e02178bd3aacddb3
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 12:08:28 2012 -0700

    Fix warning: Constify 'name' argument of InitWcmAtom
    
    ../src/wcmXCommand.c: In function 'InitWcmDeviceProperties':
    ../src/wcmXCommand.c:175:3: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:179:2: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:186:3: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:194:2: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:197:2: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:201:3: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:205:2: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:209:2: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:212:2: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:216:3: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:220:2: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:225:2: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:228:2: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:234:2: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:238:3: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:244:3: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:249:2: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    ../src/wcmXCommand.c:254:2: warning: passing argument 2 of 'InitWcmAtom' discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmXCommand.c:121:13: note: expected 'char *' but argument is of type 'const char *'
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3639e07e837eefe7a6820899548ef0d6eb2d0722
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 12:05:35 2012 -0700

    Fix warning: Remove superflous 'event' pointer in usbParseBTNEvent
    
    ../src/wcmUSB.c: In function 'usbInitToolType':
    ../src/wcmUSB.c:1378:30: warning: cast discards '__attribute__((const))' qualifier from pointer target type [-Wcast-qual]
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 39145f819b745fe0122e70d0686d3b4dbf80cca1
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 11:52:06 2012 -0700

    Fix warning: Constify _WacomCommonRec.device_path
    
    ../src/wcmConfig.c: In function 'wcmPreInit':
    ../src/wcmConfig.c:507:26: warning: assignment discards 'const' qualifier from pointer target type [enabled by default]
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 912ed64c594bfc03b99b693df32fe3fa6a9c82c3
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 11:41:12 2012 -0700

    Fix warning: Change default_options to be const
    
    ../src/wcmConfig.c: At top level:
    ../src/wcmConfig.c:212:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmConfig.c:212:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmConfig.c:213:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmConfig.c:213:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmConfig.c:214:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmConfig.c:214:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmConfig.c:215:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmConfig.c:215:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmConfig.c:216:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmConfig.c:216:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmConfig.c:217:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
    ../src/wcmConfig.c:217:2: warning: initialization discards 'const' qualifier from pointer target type [enabled by default]
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 706d2a77396d9c912e1d9157359e07923c8c718b
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 11:19:04 2012 -0700

    Fix warning: Have wcmEventAutoDevProbe return const
    
    ../src/xf86Wacom.c: In function 'wcmEventAutoDevProbe':
    ../src/xf86Wacom.c:527:5: warning: return discards 'const' qualifier from pointer target type [enabled by default]
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1d203a20bd21f8bdb22e36e93b67b651dd73743c
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 11:10:10 2012 -0700

    Fix warning: Remove superflous casts in getScrollDelta
    
    ../src/wcmCommon.c: In function 'getScrollDelta':
    ../src/wcmCommon.c:333:13: warning: cast from function call of type 'double' to non-matching type 'int' [-Wbad-function-cast]
    ../src/wcmCommon.c:334:9: warning: cast from function call of type 'double' to non-matching type 'int' [-Wbad-function-cast]
    ../src/wcmCommon.c:335:10: warning: cast from function call of type 'double' to non-matching type 'int' [-Wbad-function-cast]
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2adab89eb2c73b7806aade5b422adba4056d8fd8
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon May 14 16:56:02 2012 -0700

    Add 0xED and 0xEF
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7ee27fee0741cc756dfd20a60afb3de1c9e0ed1b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 2 14:22:27 2012 +1000

    conf: add Intuos4 WL (PTK-540WL) to fdi file
    
    4709394d76267df05f8dfa7f13e6beb1f9c7394f added it to the xorg.conf.d
    snippet. For those stuck on HAL add it to the fdi file too.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Przemo Firszt <przemo@firszt.eu>

commit 904443623df7f293f6d87e85e0b808183afe67c9
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed May 2 10:25:01 2012 -0700

    wacom 0.15.0
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 311be3952d3557720bbb5e0203066ca1864f74ef
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Apr 24 11:40:58 2012 -0700

    wacom 0.14.99.1
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 5fab61b10aabdc5b5461798f9002669adf18f263
Author: Adam Nielsen <a.nielsen@shikadi.net>
Date:   Wed Apr 11 16:13:08 2012 +1000

    Add support for the DTI-520
    
    Signed-off-by: Adam Nielsen <a.nielsen@shikadi.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 35d855025bb26e0a2daac9b08b4ea868512fb9ab
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Mar 6 14:10:00 2012 -0800

    Add support for the Intuos5
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 466b119b12a0e149a3b79a031878e04d89c628c4
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Apr 3 13:13:22 2012 -0700

    Fix off-by-one error in xsetwacom's button handling
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 52a795d2fb1fee5b13e95a2c7089dd87c37d2ea8
Author: Nikolai Kondrashov <spbnick@gmail.com>
Date:   Wed Mar 21 22:27:22 2012 +0200

    conf: Only match tablet Waltop devices
    
    Only match Waltop event devices classified as tablets.
    
    Advanced Waltop tablets have on-the-frame controls such as multifunction
    dials (controlling scrolling, zooming, volume and keyboard navigation) and
    keyboard modifier buttons. These are represented as separate event devices
    and are better handled by xf86-input-evdev.
    
    Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5e0c6ff52e9fb25e0fcd8228992ffc7a41b1db8e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 21 15:36:47 2012 +1000

    Don't dereference priv before checking it for NULL
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit d23809af1613a93ad5b68623cadd4d122da32820
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 21 15:36:04 2012 +1000

    Plug minor memory leak
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 99a9542cb14b763ddf417c71d4966f80eda417fe
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 21 15:34:06 2012 +1000

    Avoid buffer overrun
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit f0e338a4bb54d69a0c83207651efb739d843a469
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 21 15:32:55 2012 +1000

    Don't pass NULL to fclose(3)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 8b59c9ff369c1b148f716dbc6234ead68311fa21
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 21 15:29:56 2012 +1000

    Fix broken NULL check
    
    This check was ok until 7958bb9b1ddef9e8238615fd1b3d15996f00effe, when more
    code was moved here and it made no sense this way anymore. Change it to
    return early in the case of NULL allocation.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 61146662a1c3ffff87b71506f3f0c06a18a069a6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 21 15:28:17 2012 +1000

    Check ioctl return value
    
    Really, this shouldn't ever fail but at least it shuts up some static
    analysers.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit fe2d108dbd2d0769e314a32c9b11376919adcea6
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Mar 14 12:24:04 2012 -0700

    Don't share names of action atoms across properties
    
    The names of action atoms are currently created without regard to
    the property they will be stored in. This results in both e.g.
    button 1 and StripLeftUp using atoms with the name "Wacom button
    action 1". When setting either button 1 or StripLeftUp, we ask
    the server for an atom named "Wacom button action 1" and in both
    cases receive the *same* atom. This means button 1 is nothing
    more than an alias for StripLeft up (and similarly for the other
    actions which share the same name).
    
    This patch uses the name of the property the action will be stored
    in as the prefix to prevent this aliasing from occuring.

commit 220d3fb0bc1cbc9cee4f771f310c36cb07d7af68
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 15 08:05:27 2012 +1000

    man: fix typo in xsetwacom man page
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2ec45ba39ad5c43e97e8ed02e37ebbdc3f41668c
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Mar 9 18:17:58 2012 -0800

    wacom 0.14.0
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit c2c1a42d4dd97b26dee395b5911bee209fddf030
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Mar 6 16:33:31 2012 -0800

    wacom 0.13.99.2
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 8e22ba6d8cfe9a21ea40b959152318efe8e0b338
Author: Colin Walters <walters@verbum.org>
Date:   Fri Mar 2 07:24:17 2012 +1000

    wcmXCommand: Fix invalid array size for serial values.
    
    Introduced in c21b6876b435bb34112956716fea14477ef9e8d7
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit 60b4c868ac5baf5dba82c8c9146dfac068c06eef
Merge: e7564c9 28abd26
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Mar 1 09:48:50 2012 -0800

    Merge branch 'master' of git://people.freedesktop.org/~whot/xf86-input-wacom

commit 28abd26ba9379004db8667eaa2fcd2aa0b3d6fc4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 28 11:27:28 2012 +1000

    xsetwacom: fix compiler warning
    
    xsetwacom.c: In function ‘set_output’:
    xsetwacom.c:2359:6: warning: variable ‘success’ set but not used
    [-Wunused-but-set-variable]
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit 6a862efd7f3d8504b600e9d67c2b9b43e41ee8d5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 28 11:18:12 2012 +1000

    xsetwacom: re-add ToolID with the current tool ID in proximity
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit ef11021997c850d0d3e579777468ec6d52f28f20
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 28 11:16:57 2012 +1000

    xsetwacom: ToolID is actually ToolType
    
    ToolID should be the ID of the tool in proximity.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit c21b6876b435bb34112956716fea14477ef9e8d7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 22 16:52:52 2012 +1000

    Export current tool ID in the property too
    
    Previously, we exported old serial number, old tool ID and current serial
    number. Export the current tool ID as well.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Tested-by: Bastien Nocera <hadess@hadess.net>

commit e7564c941e8ac5ab9549332730844b2380b9e641
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Feb 29 15:24:31 2012 -0800

    wacom 0.13.99.1
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 00b784202448dfc8f1e142c3745053ae1e82b042
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Feb 29 15:12:27 2012 -0800

    Change return type of 'test_flag_set' to void
    
    Compiler complains that nothing is being returned, but nothing
    *should* be returned.

commit 632134f4697935ada00d72bc19286f551b42da53
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Feb 10 12:00:03 2012 -0800

    Extend length of wheel_actions array to 6
    
    This array was apparently overlooked when adding support for the
    second touch ring present on the 24HD.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 45fd72c9031ed88e4af26b43cbb51d1c64e88602
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Dec 22 13:41:43 2011 -0800

    Remove AC_CORE status print
    
    Flag is deprecated, has no effect, and serves no purpose anymore.
    Remove from the DBG statement.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6240c226ef429ade3926be0a65341117de2b24e5
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Feb 9 11:07:39 2012 -0800

    Check for appropriate number of properties when setting buttons
    
    Commit 7e92aca6 changed the length of the Wacom Button Actions
    property to be dynamically calculated, but did not take this
    into account for the property setter (preventing xsetwacom from
    updating them). This patch replaces the constant length with an
    identical calculation to ensure we check for the proper size.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5a2221de13f73c7edbe4221909225ef5c7c5c18a
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Feb 7 10:57:05 2012 -0800

    Remove redundant redeclaration of 'wcmInitialScreens'
    
    From GCC:
       In file included from ../src/xf86Wacom.c:46:0:
       ../src/xf86Wacom.h:147:13: warning: redundant redeclaration of
       'wcmInitialScreens' [-Wredundant-decls]
       ../src/xf86Wacom.h:146:13: note: previous declaration of
       'wcmInitialScreens' was here
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4709394d76267df05f8dfa7f13e6beb1f9c7394f
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Fri Feb 10 17:55:16 2012 +0000

    Add Wacom Intuos4 Wireless to 50-wacom.conf
    
    Intuos4 Wireless doesn't match list of devices in 50-wacom.conf, so evdev was
    taking over. This patch fixes it, so now wacom driver is used fo Intuoe4 WL
    PTK-540WL
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 96a2e90c0f6a727fe6942c7b8f05b37167a10ab1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sat Feb 4 19:20:44 2012 +1000

    Move some usb-specific keys to wcmUSBData.
    
    nbuttons and npadkeys is only used for USB-specific parsing, move them
    there.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 7e92aca68a666499c7d6f1946cc849cfb5653ae0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 3 19:15:54 2012 +1000

    Initialize button action properties for the correct button number (#45557)
    
    Previous code had the number of properties for button actions hardcoded to
    16 (WCM_MAX_MOUSE_BUTTONS). Drop that define and instead initialize the same
    number of properties that we have on the device as well.
    
    X.Org Bug 45557 <http://bugs.freedesktop.org/show_bug.cgi?id=45557>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit b6fd73d4f79b4731caee4dc72e9f6fcecd2b5161
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 3 19:21:28 2012 +1000

    Compress button counting statement
    
    No functional change, just compressing several lines into one.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit bc7db7f1ef57beab2a149ca9589cea08f5e69af2
Author: David Foley <favux.is@gmail.com>
Date:   Sun Jan 29 11:18:43 2012 -0600

    man.wacom: Fix typo in Touch Gestures.
    
    Fix initiates typo in TOUCH GESTURES' Vertical scroll.
    
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 16749eb2d82166a3389fe6209c654bb1fce2e639
Author: David Foley <favux.is@gmail.com>
Date:   Thu Jan 26 13:10:23 2012 -0600

    man.wacom: Add gesture description.
    
    Add description of the touch gestures to the wacom manual.
    
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit dbc25fa4fd86af7ccd42af04e6360dfdd0336735
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 12 13:40:27 2012 +1000

    Allow for a threshold of -1 to reset to the built-in default (#43221)
    
    This switches interpretation of the property from unsigned to signed. Not a
    big deal, since the maximum value has always been 2048 anyway and on 32-bit
    that doesn't actually change anything.
    
    X.Org Bug 43221 <http://bugs.freedesktop.org/show_bug.cgi?id=43221>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 09b1aa6538cd48e20928da9a835999dfc851f62c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 10 11:55:14 2012 +1000

    Fix wrong check for configdir
    
    We care about configdir, not sysconfigdir. Otherwise, --with-config-dir=""
    on a server that does support xorg.conf.d has no effect and the fdi files do
    not get installed.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 8a8931cc77babbd84a4ec7a1df04e995aaa1e980
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Jan 16 10:03:10 2012 -0800

    wacom 0.13.0
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit a94a6fbaa5bde44d1d6fc2f33f56d6ffddefca75
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jan 6 13:26:19 2012 +1000

    release.sh: set announces' Reply-To to the linuxwacom-discuss
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 933905070d6fd6e438b7a5ff445570e1fad1e70a
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Jan 3 09:29:51 2012 -0800

    wacom 0.12.99.1
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 5ca665dd77b074d95fd0d9191f544b022eaaddd8
Author: Alexey Osipov <simba@lerlan.ru>
Date:   Tue Jan 3 15:13:48 2012 +0700

    'Left mouse button' dragging support.
    
    First, we define two new GESTURE_ modes:
    - GESTURE_PREDRAG_MODE - when first tap happen and we wait for second touch.
    - GESTURE_DRAG_MODE -  when actual drag happening (left button pressed).
    
    Second, we define tap timeout function wcmSingleFingerTapTimer(), which
    simulate single click if no drag operation started within timeout.
    
    Third, we make an exception for GESTURE_DRAG_MODE in wcmCommon.c, because
    we actually want cursor movements while dragging. This exception is made
    through new function wcmTouchNeedSendEvents().
    
    Now, to do a single tap you just tap (touch and untouch). Actual click
    happens after TapTime period.
    To drag something you make a tap (touch and untouch) and then quickly
    (in TapTime period) touch device again. Then drag.
    
    Signed-off-by: Alexey Osipov <simba@lerlan.ru>
    Reviewed-by: Chris Bagwell <chris@cnpgabwell.com>

commit 1c5c25d7b4a4ce0686f6a088d282e437dbadadfe
Author: Alexey Osipov <simba@lerlan.ru>
Date:   Tue Jan 3 15:13:45 2012 +0700

    Create wcmTouchFilter.h
    
    Moving declarations for touch filter from xf86Wacom.h to wcmTouchFilter.h
    
    Signed-off-by: Alexey Osipov <simba@lerlan.ru>
    Reviewed-by: Chris Bagwell <chris@cnpgabwell.com>

commit a119545769f208d5722561a928a93824f87cdc81
Author: Alexey Osipov <simba@lerlan.ru>
Date:   Tue Jan 3 15:13:42 2012 +0700

    Fix cursor jumping after zoom and scroll gestures when in Relative mode.
    
    When touchpad is in Relative mode of operation, we need allow driver
    update internal old{x,y,z} variables to eliminate cursor jump after
    gesture ended. That update performed in wcmSendEvents() function in
    wcmCommon.c. So, when we in gesture mode, allow call wcmSendEvents()
    to update variables, but don't allow actual events sending to X server.
    
    Unnecessary axes modification removed from wcmSendButtonClick() in
    wcmTouchFilter.c, which was causing cursor movement in Absolute mode
    while gestures are active with respect to above changes. Call to
    xf86PostButtonEvent() replaced by call to xf86PostButtonEventP().
    
    Signed-off-by: Alexey Osipov <simba@lerlan.ru>
    Reviewed-by: Chris Bagwell <chris@cnpgabwell.com>

commit 7a7af3eb1c5e809aa7020795b3c170f6360d6c5f
Author: Alexey Osipov <simba@lerlan.ru>
Date:   Tue Jan 3 15:13:38 2012 +0700

    Extra right clicks removed.
    
    As right click performed with second finger, then we only interested
    in second finger touch when trying to match 'right click' gesture.
    
    Signed-off-by: Alexey Osipov <simba@lerlan.ru>
    Reviewed-by: Chris Bagwell <chris@cnpgabwell.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit ba851feb1a5f28ff3e68ef07bc84a7d75e3444ea
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Dec 30 09:26:00 2011 -0800

    Remove testing code
    
    This bit of code slipped in between v4 and v5 of the "add abswheel2"
    patch. It was testing code that was never intended to be part of
    the 24HD patch set, and wasn't caught until too late.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 3989bdb4b42cbd44f7dd99b244eeb4d1618a7ff3
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Dec 21 13:13:11 2011 -0800

    Expose the second touch ring's raw value in a new 7th valuator
    
    This patch expands the number of valuators reported by devices to
    seven. The new seventh valuator reports the raw value provided from
    the kernel for the second touch ring.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 7e3b2b9223629119472469569a2e23150e5c0c68
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Dec 21 09:30:22 2011 -0800

    Have the second touch ring emulate wheel events by default
    
    Touch strips as well as the first touch ring are set up to emulate
    mouse wheel events by default. This patch duplicates this behavior
    for the second touch ring, so that it behaves in an identical manner.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ced9465599434c68fa40210aa890970386a08b84
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Oct 17 17:11:19 2011 -0700

    Add 'abswheel2' to device state for dual-ring devices
    
    This patch adds an 'abswheel2' field to the _WacomDeviceState
    structure, along with corresponding 'oldWheel2' field to the
    _WacomDeviceRec structure. These fields store the state of the
    second touch ring on dual-ring devices such as the Cintiq 24HD.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fe1dc1753010809a7741f05784b5abe9d2ee5cff
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Dec 12 09:20:31 2011 -0800

    Add basic support for Cintiq 24HD
    
    Adds the Cintiq 24HD (056a:00f4) to the device lists. The 24HD
    has two features not found on prior tablets: three capacitive
    buttons, and a second touch ring. Subsuquent patches will
    address adding support for them.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 477a261ef79172d6378613fc4cab0026ed49d02f
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Dec 21 09:26:46 2011 -0800

    De-duplicate code for wheel/strip scrolling
    
    Replaces sendWheelStripEvents and getWheelButton with several
    small functions to reduce unnecessary code duplication.
    
    As a side-effect, it is now possible for the driver to handle
    simultaneous scrolls on multiple axes. Previously, getWheelButton
    would go through all the axes but was limited to returning a
    single button/action.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a60e59a4730d6a11f999085aa8754fd0de5dfbaf
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 19 13:18:03 2011 +1000

    test: fix linker error 'input_option_new' undefined
    
    We need a copy of it in the driver. This is just the one the driver uses for
    pre-ABI 14 compatibility, we don't need the server's exact copy since we're
    not testing that API (that's the server's job), only our use of the API.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit d54d936146fa58fb10a1b6839e1413671f96f86e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 19 13:01:35 2011 +1000

    test: add more #defines to fix build issues.
    
    sigh, upstream changed the option function prototypes without bumping the
    ABI. This is the best we can do, though there will be a period between the
    actual abi bump and this commit where we get test build errors now.
    
    commit 09e4b78f7944234865f4648940453303af0c2663
    Author: Alan Coopersmith <alan.coopersmith@oracle.com>
    Date:   Mon Nov 7 19:19:47 2011 -0800
    
        Fix gcc -Wwrite-strings warnings in xf86 ddx
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit 388c2630881d74b10bcd0aad57796c9e09341471
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 19 12:59:53 2011 +1000

    test: drop duplicate definition of xf86FindOptionValue
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit c6dba3dab054be19921a11f8ee38f847e4ef8962
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Nov 22 20:18:44 2011 -0600

    Remove wcmTapTimeDefault variable
    
    Its not really needed anymore. The whole *Default variable concept is
    at least partially related to historically the PAD device was Init'ed
    before the TOUCH device on Bamboo's but that is no longer true.
    
    And since the TOUCH device is now Init'ed before PAD, when PAD
    got Init'ed, wcmTapTimeDefault would override Touch's TapTime value;
    probably not what user wanted.
    
    For times *Default was really useful, I think wcmPostInitParseOption()
    is probably a better replacement concept.  I'll slowly remove these
    *Defaults as I have time to test each behavior.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit b0aab508269acb3a8bf9e6699a4a283f374e8488
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Nov 22 20:12:21 2011 -0600

    default gesture distance values based on hw maximums
    
    2 finger Gestures will start working on a wider range of
    hardware with different resolutions now.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit f9fe7c7b74418378a5fc09a03c2da381a87b4561
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Mon Nov 21 21:52:28 2011 -0600

    Break option parsing into two init phases
    
    This is ground work to allow much easier overriding of
    default values for case were exact default value is not
    known until after init phase (for example, if default value
    depends on resolution of hardware which is not known until
    after init phase).
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit 31dbd9fc9fdd3691d9ef43c707ecc780e0c62d24
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Nov 14 11:43:56 2011 -0800

    xf86-input-wacom 0.12.0
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit 22a26f34ba4f47a648cd01d87aa649033db2e1e1
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Nov 14 11:12:00 2011 -0800

    Fix include reference to wacom-util.h
    
    Running "make distcheck" fails under the quoted path.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit e4aa352f0ded30fcc3ec90a187957f6f8920fd8e
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Nov 14 16:52:35 2011 -0800

    Have usbInitToolType return the old tool type if available
    
    If the tool was not specified within an event packet, the
    usbInitToolType function would return TOUCH_ID. This caused
    problems for combined pen+touch devices when the pen was in
    range, since only the first packet (which explicitely specified
    the STYLUS tool) would not be filtered as "single touch"
    data.
    
    This patch passes along the old tool type, so that if no
    tool is found in the current packet, the old tool type may
    be adopted.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit f7c0a64bf6550ac8ada19345bd03916bd4aa8890
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Nov 14 13:04:24 2011 -0800

    Fix usbInitToolType to not always return TOUCH_ID
    
    Commit ca922994 changed usbInitToolType to use the tool
    TOUCH_ID by default. Because of the way the 'for' loop just
    below is handled though, the function would never return
    anything but TOUCH_ID. This patch changes things to only
    return TOUCH_ID if no data for an alternate tool type
    could be found in the event packets.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 20958f84eef0b40f91e4559099f342f28650c183
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Oct 26 12:33:48 2011 -0700

    Use xf86PostButtonEventP for held button action releases
    
    It appears that commit 485137ef partially missed this particular
    call in its mass-migration away from xf86PostButtonEvent. This
    results in the pointer jumping away from the correct location
    when a held button action is finally released. It is most noticible
    when the action "button +1" is assigned to the stylus or eraser and
    a window is dragged.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2f233f62544f9419a6f12e201d09189339f7c1d2
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Nov 9 11:41:23 2011 -0800

    Migrate Tablet(Has|Set)Feature to use the wacom-util macros
    
    In addition to consolidating code, this happens to fix a bug
    in the implementation of TabletHasFeature which would return
    true provided *any* bit of a multi-bit mask was set. Ever
    since 7c667678 when WCM_TPC was changed to a multi-bit mask,
    tablets with WCM_LCD set have been (mis-)treated as tablet PCs.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 2c4360d7be38f242a89f2da291e075b28e0dfc51
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Nov 9 09:14:14 2011 -0800

    Only convert I4 tilt bits to rotation for the I4 mouse (v2)
    
    This re-implements commit 9be9719d78af035c45ea4b191c21fab0ee54f198.
    Ping pointed out the device_type field that I had somehow missed
    when making the earlier commit. This provides essentially the same
    information as the IsCursor() macro that the original patch went
    through so much trouble to use.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ef47fa044b6bc3949c0b8d96c665d18937da719b
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Nov 9 08:59:58 2011 -0800

    Revert "Only convert I4 tilt bits to rotation for the I4 mouse"
    
    This reverts commit 9be9719d78af035c45ea4b191c21fab0ee54f198.
    Under the right conditions, the 'tool' pointer can be NULL,
    leading to the X server crashing. An easy way to trigger the
    crash is to spam pad events (such as button presses) while
    holding the stylus on the edge of proximity.
    
    Rather than fix this with additional checks for NULL, Ping
    clued me into a much more elegant (and bug-free) way to
    implement the check for an I4 mouse. See next patch.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 882795767a975854f373d58a9b15a57dfa244f28
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 21 16:22:53 2011 +1000

    Deal with opaque InputOption in ABI 14
    
    Input ABI 14 makes the InputOption struct opaque, so use the new API
    provided (and wrap for older ABIs).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5cdd524f9986bc8bc628d953379c5eb8c0003c9b
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Sun Oct 30 20:13:51 2011 -0700

    wacom 0.11.99.1
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit ee6abf754d08b6b073c2494353db68b7275fdac3
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Oct 20 16:59:46 2011 -0700

    Add 0x10804 to recognized Art Pen device IDs
    
    Intuos4 Art Pens may have an ID of 0x10804 for their tip and
    0x1080C for their eraser. There may be other IDs which need
    matching as well, but that is a "to investigate" item for the
    moment.
    
    Note that due to a mostly-benign issue in the kernel driver, the
    highest nybble of the ID is placed one nybble *too* high. Until
    a proper fix is made and tested for the kernel, we need to check
    for an ID of "0x100804" instead of "0x10804".
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 64f72480396f4398f0ad03aabc7b570d606c290c
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Oct 20 16:59:45 2011 -0700

    Correct Cintiq 21UX2 features to advertise touch strips, not rings
    
    Moves the 0xCC case (21UX2) to be in the proper spot. There are
    touch strips, not rings on this device.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9be9719d78af035c45ea4b191c21fab0ee54f198
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Oct 20 16:59:44 2011 -0700

    Only convert I4 tilt bits to rotation for the I4 mouse
    
    The comment claims that the conversion is to be performed for the
    I4 mouse only, but doesn't actually check to see if the tool is
    indeed a mouse. This patch adds in the necessary check, allowing
    the I4 stylus to properly report tilt data.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fff28802c2a803525d30cb8cb27c385f3e589f8a
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Oct 19 17:01:08 2011 -0700

    Process pressure only when it is supported
    
    normalizePressure crashes if wcmMaxZ is 0.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8a803975522bbb94e7df41c806dd2a573f058585
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Aug 23 14:23:31 2011 +1000

    Handle ABI 14 option types
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5544d3aeec362f09d2a68b10834f2be31c7bd1f0
Author: Eduard Hasenleithner <eduard@hasenleithner.at>
Date:   Sun Oct 9 15:22:19 2011 +0200

    Make InitWcmAtom support arbitrary property types
    
    InitWcmAtom could only create properties of type XA_INTEGER or
    XA_ATOM. This commit adds support for any atom type by means
    of adding a type parameter to InitWcmAtom. All instances of
    InitWcmAtom use are adapted to the new parameters.
    
    This is a preparation for a new parameter of type XA_PIXMAP
    needed for the upcoming OLED commit.
    
    Signed-off-by: Eduard Hasenleithner <eduard@hasenleithner.at>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 594deceed76e46617838dab2560ecbdf6b42421d
Author: Thomas Jaeger <ThJaeger@gmail.com>
Date:   Sun Oct 9 12:18:19 2011 -0400

    Exit gesture mode when pen comes in range
    
    Otherwise, the driver will be in an unusable state until the pen is lifted and
    the user touches the device.
    
    Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 705c6df5a75e3408b048d15cadd1652124767893
Author: Eduard Hasenleithner <eduard@hasenleithner.at>
Date:   Sun Oct 9 15:01:43 2011 +0200

    Fixing format strings in list_mod
    
    Two printf calls in xsetwacom.c were using a "%d" for output of an
    expression of type size_t. Changing format string to use correct
    "%zd" in order to avoid the format string warning at compile time:
    
    xsetwacom.c:787:2: warning: format '%d' expects argument of type 'int',
    	but argument 2 has type 'long unsigned int' [-Wformat]
    
    Signed-off-by: Eduard Hasenleithner <eduard@hasenleithner.at>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c0504a80c5b94323072326e0b1d78ed2378817e7
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Sep 28 11:52:44 2011 -0700

    Return boolean where required
    
    This particular return statement was missed in e9d9ddc3.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit f2ee4f22f2ab258f3c2cd615342c56c793835362
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Sep 20 11:25:22 2011 +1000

    Move DebugLevel options up.
    
    Having them in wcmParseOptions() means we don't get debug messages until we
    hit wcmParseOptions(). For new devices that don't initialize (for whatever
    reason) this makes debugging a lot harder.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>

commit e9d9ddc309746f6e8537223fcf946d434ea188c0
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Sep 27 15:47:08 2011 -0700

    Have MapToOutput helpers return booleans to indicate success
    
    MapToOutput helper functions now return 'true' when they sucessfully
    change the transformation matrix, and 'false' otherwise. Though this
    information is not used at the moment, it will be used with the
    KeepShape patch to ensure that the active area is only modified if
    the output mapping occured sucessfully.

commit b1f0c9ac801e48de16c6afe3bf680565a4e5c5db
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Sep 9 15:44:37 2011 -0700

    Have 'MapToOutput' require the keyword "desktop" to do such
    
    Instead of allowing zero arguments to map the tablet to the entire
    desktop, we require the use of the keyword "desktop" to accomplish
    this. This is to make it easier to figure out the user's intent
    later on when we introduce KeepShape.

commit 6da898eba50a8499d770214684bd3d2d46033037
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Sep 9 15:43:29 2011 -0700

    Add 'set_output_next' helper for MapToOutput
    
    Adds a helper function for MapToOutput which determines which
    output the device is currently mapped to, and moves to the next
    available output. Repeatedly calling this function will result
    in the device being mapped to every available output (including
    the desktop as a whole) in turn.

commit f09def951b7bd8ca57894e15ea3a47cda96c6a00
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Sep 16 17:25:12 2011 -0700

    Allow 'MapToOutput' to accept X geometry strings
    
    This patch allows the MapToOutput command to accept fully-
    specified X geometry strings as valid output names. The
    XParseGeometry function describes these strings as having
    the folowing format:
    
    [=][<width>{xX}<height>][{+-}<xoffset>{+-}<yoffset>]
    
    Strings with width, height, xoffset, and yoffset defined
    will be accepted and the device mapped to the rectangle
    it describes.
    
    This patch also renames the function '_set_matrix' to bring
    its naming in line with the other set_output_XXXX functions.

commit d0f15345546fc9396261ceaf2268cf0ddc7b32af
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Sep 6 18:13:49 2011 -0700

    Have 'set_output' check and convert arguments as necessary
    
    The 'set_output' function is now responsible for parsing the
    command-line arguments to both determine the proper function
    to call, as well as converting them into a form that can be
    more easily used by the helper functions. This patch also
    breaks the RandR compatibility check out into its own function
    to improve readability.

commit a19be46042e8e8213cc7f302429977590d0081f7
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Aug 5 10:34:20 2011 -0700

    Free RandR resources more-quickly
    
    We now call XRRFreeScreenResources as soon as practical to allow the
    now-following logic to return at its leisure. Additionally, we also
    copy the data from 'crtc_info' locally and free it ASAP.

commit 53633de3854f815682ca92ebf5c949a778697993
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Sep 16 17:24:16 2011 -0700

    Create wacom-util.h for generally handy defines
    
    The new wacom-util.h should be the place to store defines which
    may be handy to use anywhere. At the moment this includes things
    like ARRAY_SIZE, bit manipulation, and mask manipulation defines.

commit 59c54a39fae39fb580cce3c3b676d658e7ad593b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Sep 9 08:36:33 2011 +1000

    Revert "make gesture distances be relative to hw maximums."
    
    Accidental push, this patch is still pending a few more modifications before
    it's ready. See the thread at
    http://sourceforge.net/mailarchive/message.php?msg_id=28006798
    
    This reverts commit 259616580c1ef3f624d8f984f69f3991d57bbe9c.
    
    Reported-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fb11287b1ca76a838e2fdde67d6267d8dd5979b4
Merge: 2596165 a9c7b56
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Sep 8 14:14:39 2011 +1000

    Merge branch 'gesture5' of git://github.com/cbagwell/xf86-input-wacom

commit a9c7b56aa13992ec11b87c726699cf685857640c
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sat Jun 25 19:38:51 2011 -0500

    do not send touch button during gesture holdoffs
    
    Moved 4 different places were the touchscreen button press was done to a
    single location.
    
    This allows to NOT send a button pressure while gesture detection
    is being performed.  That unwanted button press could do some annoying
    things when trying to do a 2 finger scroll on a touchscreen.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>

commit cb92037af882d2479d0f677eba8be83b11632dcd
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Wed Aug 24 18:26:29 2011 -0500

    improve 1 finger tap validation
    
    Added check for wcmGesture for 1 finger gestures since it couldn't make
    use of generic check.
    
    Skip 1 finger tap on touchscreens based on LCD feature instead of
    is_absolute() value.  Also, since this is gesture specific validation,
    moved to inside function.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>

commit 89c88966f0adbf56abcd8087fe51a4ee36e17102
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Aug 23 20:52:45 2011 -0500

    Add a GESTURE_NONE_MODE in place of 0 values
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>

commit c1ba7642b7a8567fd945e04cc9ad9e1bd1014576
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Sep 4 22:10:01 2011 -0500

    look at current packet during 2 finger gesture lag
    
    Probably the original logic meant to be doing something like:
    
    "if (ds[0].proximity && dsLast[0].proximity && ds[1].proximity)"
    
    but it left out the ds[0].proximity part.  This had two issues:
    
    1) We got 1 extra packet worth of movement because of delay in
    going into LAG mode upon 2 finger touch.
    2) It could go into LAG mode upon releasing 1st finger before
    second finger.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>

commit 68daad26c11d70aeaffd8d4d4f81f14487f321c2
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Aug 23 20:42:28 2011 -0500

    improve initial 2 finger behavior
    
    When trying to do a 2 finger scroll, the cursor was previously
    moving around until taptime because wcmGestureMode was mistakenly
    being set back to zero.  It was falling into 1 finger else {}
    case once past WACOM_GESTURE_LAG_TIME.
    
    To see issue, try scrolling in a web browser or terminal window on a Tablet
    PC and you'll see lots of unwanted text selection because of cursor
    movement + button press.
    
    Rearrange code so that coming out of LAG will never happen in two finger
    case.
    
    Also, rearrange related logic to be more obvious for 1 finger vs 2 finger
    case.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>

commit 3005fc0f7caff5a375fa2e353d3bcbadfd59382e
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Aug 23 19:31:51 2011 -0500

    reduce 2-finger scroll holdoff time
    
    The only reason not to immediately go into 2 finger scroll
    and zoom mode are:
    
    1) Make sure user is not going to do a 2 finger time based gesture
    (only 2 finger tap supported).  Waiting only taptime is fine for this.
    2) Wait for some movement of fingers to see if its a zoom vs. scroll.
    This is movement based and not time based.  Reducing time doesn't seem
    to change behavior here.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>

commit 259616580c1ef3f624d8f984f69f3991d57bbe9c
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sat Aug 27 12:03:19 2011 -0500

    make gesture distances be relative to hw maximums.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b4c5e7047e32635d958ba0181eb63451b930521c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 11:50:25 2011 +1000

    Don't compare unsigned values to < 0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Jason Gerecke <killertofu@gmail.com>

commit df7db361dd8ce04bec486ee7215ae51a2e339d0e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 11:46:46 2011 +1000

    No need to check for pInfo != NULL in PreInit
    
    We've dereferenced it several times already and having the check in there
    confuses static analyzers who don't know that the server allocates this for
    us.
    
    This is a leftover from pre-ABI 12 where the drivers had to allocate pInfo
    themselves.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Jason Gerecke <killertofu@gmail.com>

commit 557a52b8a1ea7f10773f49e3d43074bb3952120e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 24 09:38:45 2011 +1000

    man: clarify rotation on hotplugged devices
    
    Dependent devices take the parent device's rotation, not hotplugged devices
    in general.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit f1519288f53144860379a193c7c1c579d014a04c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 12 10:29:53 2011 +1000

    man: document gesture-related options
    
    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 1fa07c06020c8d6c983002999c04c519b58c4892
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 12 10:04:47 2011 +1000

    man: Add RawSample to man page
    
    Text copied from xsetwacom.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 21985216fe57eba9c7419f2c1e9dc3989833e5cd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 12 10:03:53 2011 +1000

    Update comments for wheel and TwinView resolution properties
    
    A bit more detail on the wheel property to make it easier to understand
    without reading the code.
    
    TV resolution is deprecated, mark it as such.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit cf5986b7e546443f16cd86dbb46c8ba334382081
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Aug 23 13:38:14 2011 +1000

    Sanitize condition to check for complex gestures.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>

commit 992738ff9f0d0c3eb2b6f3be9851d3c2c506ad4f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Aug 9 15:02:26 2011 +1000

    Fix an error message.
    
    This error may have been in wcmEvent now, it's not anymore. Either way, one
    can just grep for the string, the function name is irrelevant.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 473e339593d79e8e4d417698ff61ccaeb6e53096
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Aug 1 17:53:12 2011 -0700

    Allow zero-argument use of MapToOutput to reset map to entire desktop
    
    If zero commandline arguments are provided to 'set_output', we
    now interpret that as the user's desire to remap their tablet to the
    entire desktop. This is accomplished by loading the identity matrix.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7f3da2baed602d75559003066d41c77f7ee96056
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Aug 1 17:51:55 2011 -0700

    spellfix: "Dize" -> "Size"
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b2e5813935f6897bd3a2c7ee5be4a3db17f58745
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Aug 1 17:51:00 2011 -0700

    xsetwacom: Have 'get_param' respect PROP_FLAG_INVERTED
    
    Running e.g. `xsetwacom get stylus TabletPCButton` would display
    the wrong value to the user because the property is inverted.
    This checks to see if PROP_FLAG_INVERTED is set, and to swap the
    result if so.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7353f1dbd4472c485bd7e248413a9d21d3a77a89
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 20 15:21:19 2011 +1000

    If the type isn't valid for our device, say so.
    
    Don't just quietly fail PreInit.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit ad82c03c9ca876d2c2518b2fc2c1a652ea74ce8b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 18 16:02:40 2011 +1000

    Use xf86SetStrOption to get type
    
    This call prints the value (if set) to the log, making it easier to debug if
    something has gone wrong.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 5e2f39a390bbbebe59d49ec35a79641dba7de7fe
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 18 15:58:29 2011 +1000

    Print error to the log if the Type option is missing.
    
    Static configuration devices only.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 16d30d475d1997fe7271236dc18854eabe1c2dc7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 18 15:08:05 2011 +1000

    Protect against NULL-pointer dereference in UnInit
    
    If priv is NULL the DBG macro would dereference it. priv may be null if
    wcmAllocate() fails or the event device cannot be found..
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit c1368da8e637a9a6bb1b1c09b30b3c8e63442ec3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 18 09:50:19 2011 +1000

    test: Fix tests for Capacity removal
    
    Removal of capacity caused a few tests to fail. Fix this.
    
    Introduced in xf86-input-wacom-0.11.0-36-g6c9c05e
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 4f1041122f1544b660f80b5a9aad086a3f6da372
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 18 09:45:56 2011 +1000

    isdv4: fix pressure parsing
    
    Missing shift would report the wrong pressure maximum.
    
    Reported-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 983185c64b9fa725519ff5a1e0863e7bac00bea4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 13 10:03:40 2011 +1000

    man: reshuffle Authors list
    
    Not to discredit Frederic's work, but he is not involved with the project
    anymore.  Users have a tendency to email the first person on the list, let
    that go to someone who is currently involved and likely to respond.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 4c3b4e0a88401a55fbdd98ba4db128d9a52583d1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 13 10:02:19 2011 +1000

    man: use placeholders to man pages listed in See Also
    
    These are substituted on build, the sections aren't the same on all
    platforms. Not that this really matters for us (linux-only) but it's in-line
    with other X.Org projects.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 3a72150505eb8077215029c365c31740ca966bd6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 13 10:00:18 2011 +1000

    man: add link to our website in See Also
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit f63be64a58629cfac2077da8be335e02d10f3c5d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 13 10:05:42 2011 +1000

    man: add paragraph before the link to linuxwacom.sf
    
    And spell out sf as sourceforge
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 44a25ab9305e452465b0bbf7547624f18c896459
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 5 14:03:15 2011 +1000

    Fix comment typo
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 66925f068638c4cc3181478008e5a909de389940
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 5 14:01:01 2011 +1000

    ISDV4: swap packet parsing condition around.
    
    No negative conditions where not nessary please.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 7ab2f8a74a4dc7b1f795490f3850129d43fdb3c8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 5 13:41:43 2011 +1000

    Split isdv4Parse into two functions for touch/pen packets.
    
    No functional changes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 42132efc7f22a353f5d5976cb898abd1ea04e761
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 1 09:15:55 2011 +1000

    xsetwacom: plug minor memory leak
    
    data is allocated, needs to be freed. No real impact since xsetwacom will
    exit anyway after this.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 70afb81f6de2f29e23eded3d1db74749e98e6daa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 1 09:14:50 2011 +1000

    Remove unused variable "device"
    
    ../src/wcmValidateDevice.c: In function 'wcmHotplugOthers':
    ../src/wcmValidateDevice.c:515:8: warning: variable 'device' set but not
    used [-Wunused-but-set-variable]
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit aa4e458e50150bfc976afcb32034f0a30a404bf1
Merge: f8e6ccc a8829f0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 30 16:22:53 2011 +1000

    Merge branch 'capacity2' of git://github.com/cbagwell/xf86-input-wacom

commit a8829f06de49585c2bbc3d47c86cdea0720ee1ff
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sat Jun 25 12:34:36 2011 -0500

    Support pressure curve with touch pressure
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6c9c05e7dfadb6fc49f11a6541a18b1f84f8c844
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sat Jun 25 12:07:12 2011 -0500

    Remove unused Capacity logic on touch devices
    
    The feature never fully worked and bits have slowing been removed.
    Remove remaining in one swoop.
    
    As apart of removing logic, now store ABS_PRESSURE values in the more
    appropriate "pressure" location so that it can eventually be exposed in
    the Pressure axis that touch devices create but do not currently send.
    
    Additional changes beyond this patch are required to get Pressure Axis
    working on touch devices.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>

commit f8e6ccc0a494d6bf82afbd81698baa2f78436cd6
Merge: 006bc89 7fe557d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 29 08:54:16 2011 +1000

    Merge branch 'nvidia-twinview'

commit 006bc892fa132f4ba71ef23bb2043847bb3ece2e
Author: David Foley <favux.is@gmail.com>
Date:   Mon Jun 27 20:43:58 2011 -0500

    Add 3 new models: 6A, 6B, and 97
    
    Adds the new Bamboo1 small (6A) and medium (6B).  Adds a slate form factor tablet PC (97).
    
    Tested-by: Alex Tervoort <alex.tervoort@gmail.com> for 6A
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ca92299423980a9be5560f6eb29ba949356d638f
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sat Jun 25 13:05:52 2011 -0500

    Default to touch tool for multi-touch devices
    
    We really need to add hooks to query pre-existing device state when
    input driver starts up because slot ID is almost never sent when
    touching 1 finger to screen.
    
    In mean time, it makes sense to default device_type to most likely
    value of TOUCH (the T in MT) for this function used only by MT
    devices.
    
    The default of zero is causing some events to be filtered mistakenly.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7b67f9e0d59811af879f7cea3422395fb83d0663
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sat Jun 25 13:05:50 2011 -0500

    Show maxZ value for touch devices in debug output
    
    Some, but not all, touch devices support pressure.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ed83c973802c4f3f34faa166ccfebbfdc5414e49
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Thu Jun 23 22:06:59 2011 -0500

    Set WCM_TPC when generic tablet is detect.
    
    This allows unknown touchscreens to work as expected (default to
    absolute mode for example).  We no longer need to update case
    statement in wcmDeviceTypeKeys() each time a new ID is used with
    new hardware.
    
    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 3e0aea20fd9e262edb717e046f9d1cc1f9e12834
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Thu Jun 23 22:06:58 2011 -0500

    remove redundant WCM_LCD setting for WCM_TPC's
    
    WCM_TPC definition already includes WCM_LCD.
    
    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 85d82c3279ffc0dec3be14a7da2e00e375f87f03
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Thu Jun 23 22:06:57 2011 -0500

    Fix CintiqV5 LCD defaults by using new TabletSetFeature()
    
    Some of the previous usage of "=" instead of "|=" could
    cause previous settings to be lost.  Only known case was
    for CintiqV5 losing WCM_LCD value.
    
    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 6ec94774890452c5c82b0b9db64d7738948fbe19
Author: San <sanette-linux@laposte.net>
Date:   Thu Jun 23 17:53:56 2011 +0200

    Correct the up/down orientation of Touch Strips
    
    Tested on cintiq and intuos 3.
    
    Signed-off-by: San <sanette-linux@laposte.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Tested-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 47e13394f468c8a500428f62752ab60aaf1d0ce0
Author: David Foley <favux.is@gmail.com>
Date:   Tue Jun 21 21:14:49 2011 -0500

    conf: Add WALTOP back into MatchProduct
    
    The WALTOP kernel driver patches are in the mainline kernel tree now.
    
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7fe557d404a2e7aa192ff68ebdec5436696c9f4a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 20 13:52:30 2011 +1000

    xsetwacom: Support MapToOutput for TwinView.
    
    The NVIDIA binary driver doesn't support RandR 1.2 but it does support
    Xinerama. Due to a server bug, we still get the current server's RandR
    version back when we query, so we need to check to the binary
    driver-specific NV-CONTROL extension first. If that or a RandR < 1.2
    version is present fall back to Xinerama if we need to.
    
    User commands:
        xsetwacom set "device name" MapToOutput HEAD-0
        xsetwacom set "device name" MapToOutput HEAD-1
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Jason Gerecke <killertofu@gmail.com>

commit 4578d4f4b84e5bb23855e7aa66e6b54fe3b836fc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 20 13:38:02 2011 +1000

    xsetwacom: move matrix calculation into a separate function
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Jason Gerecke <killertofu@gmail.com>

commit c684649cde60772402407f398f3dbec7e8e7b909
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 20 13:06:33 2011 +1000

    xsetwacom: split output setting into set_output_xrandr
    
    Preparation work for NVIDIA TwinView support.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Jason Gerecke <killertofu@gmail.com>

commit f5fcbd8b4a74d1087b7efb4129a1240e86eaf2b5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 20 13:49:43 2011 +1000

    xsetwacom: add missing linebreak in error message.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Jason Gerecke <killertofu@gmail.com>

commit 36fca6055911d86e902555671b4d206f6fae1835
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Jun 20 17:34:07 2011 -0700

    Fix invalid rotation values
    
    For a rotation of "NONE", the rotation would be whatever happened to be on
    the stack.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c5a0be2d944f28c944d605ccc5e03371e15d97ee
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sun Jun 5 08:08:07 2011 +1000

    Export the device node as property (fixed version)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d79a302ae4c9ae7bf9386ec683ae502023878015
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sun Jun 5 08:06:46 2011 +1000

    Revert "Export the device node as property."
    
    This reverts commit 2e9972c4419cef47ac08528bbaf02846ae4fc915.
    
    Broken patch, XI_PROP_DEVNODE replacement wasn't consistent.
    
    Conflicts:
    
    	src/wcmXCommand.c
    
    Reported-by: Andrzej Giniewicz <gginiu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1ba90110b34a287ffce92e9cf2700179fbab4400
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 2 12:33:11 2011 +1000

    Add support for Device Product ID property.
    
    This property is now used in input drivers to export product/vendor ID to
    clients.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 2e9972c4419cef47ac08528bbaf02846ae4fc915
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 2 12:10:12 2011 +1000

    Export the device node as property.
    
    X doesn't provide a mapping between physical devices and X device IDs other
    than what can be extrapolated from the device name.
    Export the device node so clients that need e.g. sysfs or other information
    from the kernel can map the devices.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 8713d0c90b994b259f7c0430ac4726884c7e3d10
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 2 12:25:38 2011 +1000

    Clarify a comment
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 933db3e4627ecaf448f3fd5c457b2f5b455edcbc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 2 11:58:23 2011 +1000

    Fix a wrong comment
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 5c45c941493651ab9108e1416737ef89e485d67b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri May 27 09:34:11 2011 +1000

    release.sh: add reminder to bump configure.ac after a release
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 05280f008d2de2dade0d9b15bd8551b1dbee7e51
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri May 27 09:33:33 2011 +1000

    Bump to 0.11.99
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c6b979e24d56823f30c5ee922a86c138dbe64341
Author: David Foley <favux.is@gmail.com>
Date:   Tue May 24 17:12:22 2011 -0500

    wcmValidateDevice.c: Add 0xE6
    
    Adds the E6 2FGT tablet PC.
    
    Tested-by: Ethan Schoonover <es@ethanschoonover.com>
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4e42edf896dfb4facab9c4f8b217226648100109
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 18 15:32:27 2011 +1000

    man: note that parent devices can't be matched.
    
    MatchProduct "stylus"
    
    won't work since the "stylus" bit is appended by the driver, after the
    server has already applied the MatchProduct directives. This only applies to
    the parent device.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>

commit 63c885670bde3b10b4755075bb4af6466b3dc46d
Author: David Foley <favux.is@gmail.com>
Date:   Thu May 12 14:19:28 2011 -0500

    wcmCommon.c: fix cw and ccw swap
    
    Return cw and ccw to expected behavior.
    
    Tested-by: Buran Ayuthia <the.ayuthias@gmail.com>
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 85dd620e2664d1f374a2c4aad27bf0bed41118ab
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 14:32:56 2011 +1000

    Force all serials to be unsigned.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 429e9d569d9907f7954384dab433f2a267f173e1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 15:30:34 2011 +1000

    Add a property to bind the device to a serial number.
    
    This is a read/write property to force the device to a single serial number
    only.
    
    xsetwacom parameter BindToSerial
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit a4ce692ea35911fa597eff477e209c4ec49af79e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 15:03:44 2011 +1000

    Rename iserial to serial
    
    iserial is confusing. It may be hungarian notation or it may be an index for
    the serial. In this case, it's simply the serial number, so name it
    "serial".
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 59b985c939e70a530db7726a3cf5e84bbb1b74ed
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 15:02:56 2011 +1000

    Add some more documentation to the new serial hotplugging code.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit aa89172deace263fca239ce9fdbcdc1e928d4e62
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 15:01:52 2011 +1000

    Make wcmHotplugSerials static
    
    This isn't called from anywhere but the hotplugging code.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit acd2181f87dfc1f7d20a6eca7b80914ced48c62c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 13:16:07 2011 +1000

    xsetwacom: add ToolSerialPrevious to retrieve the last tool in proximity.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 488782ca502074821aeec026e2e940add068e819
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 12:58:19 2011 +1000

    Only update old_serial when going out of proximity.
    
    And set cur_serial to 0 when that happens.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit a88102fafbab8075162032b1d3ee0bce4da625b5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 12:48:42 2011 +1000

    Update the device's serial number when it comes in.
    
    Split serial number internally into
    - serial: the serial number this device is bound to, 0 if unbound.
    - cur_serial: current serial number in proximity
    
    Then update the serial property with the current serial. Because of SIGIO
    malloc restrictions, the property must be updated through a timer function.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 85a2c91fb8b489968ac21f848d75a7c8b3d1c207
Author: Alexia Death <alexiadeath@gmail.com>
Date:   Thu May 5 11:40:57 2011 +1000

    Get the latest values for serial numbers when a client asks for them.
    
    Whenever a client requests the property values, update them from the current
    device state. Due to race conditions with the SIGIO handler, we have a
    window between updating the device state (during the handler) and updating
    the property and sending events (requires alloc, thus not in the handler).
    
    If a client asks for the property value, update from the state so the window
    only affects property events, not actual values.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 8f1c120bc68231d312794bc6479514f45820b74f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 11:25:47 2011 +1000

    improve documentation for serial property
    
    - document serial ID property as read-only.
      It is already read-only in code, add a comment to say so in the header
      file.
    - serial values are unsigned.
    - document hw device id as such, it's not the device ID libXi clients see
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 2c94cc7554c3874567ab999a64ef086505576e83
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 13:11:16 2011 +1000

    xsetwacom: add missing arg_count to a serial/tablet ID parameters
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 7af794a2acdee4bdc6e3ad73d6c4f42598e9a87e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 13:15:24 2011 +1000

    xsetwacom: add a bit more tracing to the get code.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 21c25ef7b3eda57ab00c1f2576cfba0e4ef9dba4
Author: Alexia Death <alexiadeath@gmail.com>
Date:   Mon Apr 18 11:26:43 2011 -0700

    man: Describe ToolSerials option
    
    Adds a description of the "ToolSerials" option to the driver manpage.
    Slightly modified from Alexia's original patch (breaks the list of
    types out into the description)
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1284bc5a858557a2739b67de401d25bcab3e1cf6
Author: Alexia Death <alexiadeath@gmail.com>
Date:   Mon Apr 18 11:26:40 2011 -0700

    Add ToolSerials option for hotplugging pens
    
    Provide a new "ToolSerials" option which describes tools that should
    be automatically hotplugged along with the standard devices. This is
    achieved by parsing "ToolSerials" while the master device is being
    initialized to create a WacomTool list. This list is then used while
    hotplugging child devices to create tool-specific devices with the
    "Serial" option set appropriately.
    
    The "ToolSerials" option should be added to the 50-wacom.conf file
    in /etc/X11/xorg.conf.d so that it is applied to hotplugged tablets.
    The option takes the following format:
    
    Option "ToolSerials" "serial[,type[,label]][;...]"
    
    Or, for a more concrete example:
    
    Option "ToolSerials" "113246231,airbrush,Airbrush;85983311,artpen,Artpen"
    
    ToolSerials recognizes the "pen", "airbrush", "artpen", and "cursor"
    types. Unknown (or unspecified) types default to creating "pen"-type
    tools with both 'stylus' and 'eraser' devices.
    
    Signed-off-by: Alexia Death <alexiadeath@gmail.com>
    Acked-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    
    Squashed in:
    Have ToolSerials patch re-use existing infrastructure
    
    This tweaks the prior ToolSerials patch to use the existing
    infrastructure where appropriate. For instance, using the 'WacomTool'
    struct instead of the custom 'WacomToolSerial' struct.
    
    This should actually be integrated as a "fixup", but is included
    here to more easily see the changes from the original.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 74a53cf8aa9ded9978d8f085446871d266dd4bf4
Merge: 0d7790b ec23bdd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 19 16:04:25 2011 +1000

    Merge branch 'next'

commit 0d7790b80ded4a33b6a81ebc0f8f11ccfbd27fa9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 19 14:05:44 2011 +1000

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

commit ec23bdd01334dbb655d97c85b1a366ac7eaf830c
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Apr 14 17:06:11 2011 -0700

    Retrieve resolution from the kernel whenever we can
    
    The resolution table has been added to the kernel driver. Let's use
    it when we can.
    
    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 5b073528db237c46fdd3281e73a36f81ef494791
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 12 11:12:20 2011 +1000

    Add mask checking macros.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7958bb9b1ddef9e8238615fd1b3d15996f00effe
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 7 15:23:28 2011 +1000

    Move common default values to wcmNewCommon()
    
    No functional change, just moving initialisation to where it belongs.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 3081ecb428d29c639cb2874958b8f95be6978ede
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Apr 13 15:43:49 2011 -0700

    Fake resolution for 9F and E2
    
    9F and E2 are touch only devices, for which we need to retrieve
    the resolution from the kernel. So, the resolution defined in
    WacomModelDesc does not count for anything. However, to avoid
    future questions about the weird "394", align them with their
    cousins.
    
    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 3beefe834692048dd04d877a05bb85e0ed7c4c80
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Apr 12 12:06:11 2011 -0700

    man: Use __drivername__ instead of "wacom"
    
    Because hardcoding things is uncool
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 432f3cb434d707bc516f930bd9ee1863685e2110
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Apr 12 12:06:10 2011 -0700

    man: Fix __drivername__ macro
    
    It seems we've been having this macro dangling in our manpage since
    0862aa3d74378abbf9f23289ab864a4d07305d0d
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e6743f3c8adc54c4a6d19e2e1fcd884091145c90
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Apr 12 12:06:08 2011 -0700

    man: Update usage information
    
    The usage provided by '--help' is more accurate than that provided
    in the man page, and some arguments to '--set' do not require a
    value.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 52408eac9cf497a410952284046b8fed3aa32d4b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 11 13:42:42 2011 +1000

    isdv4-serial-debugger: return early if tcgetattr() failed.
    
    Fixes compiler warning
    isdv4-serial-debugger.c: In function ‘set_baud_rate’:
    isdv4-serial-debugger.c:127:6: warning: variable ‘rc’ set but not used
    [-Wunused-but-set-variable]
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8caa65efe358e12873ef3f8c17cd0d7a990a6419
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 11 13:40:20 2011 +1000

    xsetwacom: remove two unused variables
    
    xsetwacom.c: In function ‘keysym_to_keycode’:
    xsetwacom.c:964:6: warning: variable ‘group’ set but not used
    [-Wunused-but-set-variable]
    
    xsetwacom.c: In function ‘get_actions’:
    xsetwacom.c:1747:25: warning: variable ‘last_press’ set but not used
    [-Wunused-but-set-variable]
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 161bcb48340bb9ef0b694b5bd33c7e5ed5db3ce6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 11 12:13:00 2011 +1000

    Fix higher button events.
    
    Buttons higher than sizeof(int) weren't getting sent. The mod_buttons macro
    needs to test for the number of bits, not bytes.
    
    Introduced in 880512f84c26cddbfc1a8ff495890595424466f2
    
    Reported-by: Andrzej Giniewicz <gginiu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 58a258600cb1138c160c6625816897ea18e34cf2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 8 11:25:01 2011 +1000

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

commit 2bbbe4546f56cd825606eff870e4817766d2e654
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 5 15:37:04 2011 +1000

    man: add hotplugging info to man page
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1390685854f7eedcb6802adaba8df274e96a4177
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 5 15:21:07 2011 +1000

    man: remove reference about different zones - unsupported
    
    We ripped this out with 13a12bb852f8 Purge toolarea from device rec.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 77b9f3cafc32adad76100f293fde6599a671f22b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 5 15:17:45 2011 +1000

    man: don't mention the core pointer, it doesn't exist
    
    Obsolete since server 1.4
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4d854858ca4de352546de179e1039c43921e15bf
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 5 15:16:23 2011 +1000

    man: refer to both xorg.conf and xorg.conf.d
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2110435235c371da647a58647535cf8e268fb603
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 30 09:15:34 2011 +1000

    Don't accept invalid device types.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6e10b33b25ac99280b387f8692e46e55d6d9ca8e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 8 11:38:28 2011 +1000

    xsetwacom: fix --help output formatting
    
    The excaping of the two quotation marks means we need extra spaces here.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b8404011790e4b06ee46b471195eefd05fa304a0
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Mar 30 13:54:46 2011 -0700

    Have wheel and strip properties be "actions" instead of "buttons"
    
    Continuing with removing raw button code, we create the wheel and
    strip properties ready to hold actions. Prior to this, the properties
    would be initialized with the raw buttons; before xsetwacom could
    set them to actions they would need to be converted.
    
    This does away with the conversion step by following the mold already
    in place for buttons. With no more need for conversion, we can also
    nuke the conversion-related bits from xsetwacom.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f3a358796133e04dbf91e57c1bc4760002ba9b3c
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Mar 30 13:54:45 2011 -0700

    Decrease minimum number of args to 'set' [allow wheels/strips "reset"]
    
    Since the worker functions now check that they have the appropriate
    number of arguments, its possible to decrease the number of arguments
    required by 'set'. Since all it really needs is a device number and
    a property, the minimum argc is now 2.
    
    A handy side-effect of this change is that its now possible to run
    e.g. `xsetwacom --set $ID StripLeftDown` to reset the action to
    its default. Doing the same with buttons has been supported, but
    wheels and strips were out of luck because they would require too
    few arguments to 'set'.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c78c2759a9b87db1078d760a0108b0f5dac5ed58
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Mar 30 13:54:44 2011 -0700

    More strict argument-count checking
    
    Add/replace checks in functions to ensure that they have the right
    number of arguments to do their job properly. The worst offender
    here was the set() function -- providing too many arguments would
    result in it walking off the end of data structures (often resulting
    in a segfault)
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d7ea18239de51d84706810b555ff3b2855b8856f
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Apr 8 11:31:23 2011 +1000

    Change from prop_extra to arg_count
    
    When setting an XInternAtom property, 'prop_extra' listed
    the number of extra properties beyond the first that needed
    to be set. For instance WACOM_PROP_TABLET_AREA had a total
    of 4 properties, so prop_extra=3.
    
    To provide better argument validation though, we change this
    to 'arg_count' and list the total number of arguments
    expected. This doesn't really do anything for normal properties
    (since arg_count = prop_extra + 1), but does let us check
    for the proper number of arguments in odd cases (e.g.
    ResetArea takes 0 arguments).
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>

commit c5ba63ce8e45bdecb650db78c8e2bb9dd454bfb3
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Mar 30 13:54:41 2011 -0700

    Fail with warnings where possible
    
    For many commands, improper arguments cause a silent failure. The
    user is often given no indication if their command succeeded or
    failed. I've tried to find all the silent "return;" statements and
    provide some kind of warning message where possible.
    
    In some cases I've added in new checks to ensure that we have the
    correct number of arguments. I've tried to make checks as pedantic
    as possible, e.g. throwing errors about number of arguments even if
    the function ignores arguments.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 19656e837c4bd3711b033992566058be790b5095
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Mar 30 13:54:42 2011 -0700

    More explicit input check for set_rotate
    
    Because of how atoi() works, any single non-number (other than the
    expected cw,ccw,half,none) would be interpreted as being equivlent
    to 'none'. Since the number of valid arguments is very small, we
    explicitly check each.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 02f5fe64df98c963c865845e79b3a20cfddb62ca
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Thu Apr 7 12:25:32 2011 +0300

    Add support for Lenovo tablet ID 0xE6
    
    Signed-off-by: Timo Aaltonen <timo.aaltonen@canonical.com>
    Tested-by: Manoj Iyer <manoj.iyer@canonical.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 86fa0fb17e0cd34217e07671ac8f777c3fbe731f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 4 10:30:32 2011 +1000

    Update all tools rotation property when rotating one of them.
    
    All tools on the same tablet share the rotation value, so if one of them is
    rotated, all of them must be. Since the property value is stored in the
    server, we need to trigger it explicitly.
    
    Test case:
    $> xsetwacom set "device name stylus" Rotate half
    $> xsetwacom get "device name eraser" Rotate
    
    Should print out the correct rotation value.
    
    Fixes #3070450
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit fd952b4e69bd2b2f39df36d1d489fecb47e2ae3a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 4 15:33:34 2011 +1000

    Don't rotate hotplugged devices.
    
    We only rotate on a per-tablet basis, not per-tool. Don't accept rotation
    values on dependent devices (unless they're the same, then be quiet about
    it).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 5cf22a3a39799cb1c50298d73c34fd397ad717b1
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Apr 6 11:24:05 2011 -0700

    Expand manpage documentation for "Button" parameter
    
    Include list of parameters that are supported, as well as an example
    of mixing keywords in one action.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1c76a5942b36844b2fee80ca28b8481744f984cf
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Apr 5 17:49:27 2011 -0700

    Swap range of 'RawSample' and 'Suppress' in man page
    
    Looks like the range of these two options was confused a while back.
    Switch them so that the right option has the right range.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8d57fb1693fe3a78fc6002570a9c132c067f7919
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Apr 5 17:49:26 2011 -0700

    Have man page reflect per-tablet nature of 'Rotate' option
    
    Change documentation to indicate that rotation affects all tools
    associated with the same tablet.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2c30edb2b6a9542e945623fe0e215a5c04281655
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Apr 5 17:29:20 2011 -0700

    Cause '-V' option to xsetwacom to exit like '--version'
    
    Unexpected difference in behavior between two ways of specifying
    the same thing. '-V' no longer prints the version and continues
    to run the rest of the program.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 35d14d75a0d06e32f3583733fcc987879c6e15f6
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Apr 5 17:29:19 2011 -0700

    Correct order of arguments to calloc
    
    Not that there's much difference between 4*(256 bytes) and
    256*(4 bytes) of memory...
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6424d65c613ee024795b4d529c1d2473650e01f5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 4 15:31:50 2011 +1000

    Factor out rotation parsing and setting.
    
    No functional changes, prep work only.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit da6cbaf3c8b0bb9f5d993ec0291c5919b52ebdee
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 5 13:27:33 2011 +1000

    Rename hotplugged to is_primary in wcmParseOption.
    
    The parameter is true for the primary device only (i.e. the one that
    _triggers_ the hotplug). It is false for any driver-hotplugged device
    and false for xorg.conf devices. So "hotplugged" is a rather misleading
    name. Rename to is_primary instead.
    
    Document this and while we're at it, change the function to use Bool instead
    of int.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 1da14469d2cdfe68ddbe4d451a7e757ad2a4705b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 4 15:22:36 2011 +1000

    Remove superfluous call to wcmRotateTablet().
    
    This is a leftover from the times when we reconfigured the axes based on the
    rotation. It doesn't do anything these days.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit e0354b9fde1e489bd0c87aa7f34b827ce3e27778
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 4 13:34:30 2011 +1000

    xsetwacom: add PROP_FLAG_INVERTED for Hover Click/TPCButton
    
    The Hover Click property is inverse to the TPCButton xsetwacom
    option/xorg.conf option.
    
    This commit restores the original behaviour for the property as before
    f1ecd11c619f1f7eb7850dd2fb514307ca1dd1ce but fixes xsetwacom that users of
    xsetwacom won't notice the difference.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 5984c9aecc6f80d936f8b0f81a63f31cd23f2e19
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 4 13:29:59 2011 +1000

    Revert "Correct TPCButton property inversion"
    
    "Hover Click" and "TPCButton" are not the same meaning. TPCButton behaviour
    is that Hover Click is off and vice versa. Hence the property inversion is
    there on purpose.
    Add some documentation to make this public.
    
    This reverts commit f1ecd11c619f1f7eb7850dd2fb514307ca1dd1ce.
    
    Conflicts:
    
    	src/wcmXCommand.c
    
    Reported-by: Michal Suchanek <hramrach@centrum.cz>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit d855766a53c005d12a56be23f9fcfce5d5922aa7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 4 14:01:46 2011 +1000

    xsetwacom: modularise test for bool conversion.
    
    No functional changes, just making it easier to test for other features in
    the future. Some strings to test again have changed, but we really only
    need to test for sane true/false values anyway ("oFf" is not sane enough to
    worry about).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 8f2dce908d1a591c315b61fce4d66346d4f2213a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 4 13:45:00 2011 +1000

    xsetwacom: constify convert_value_to_user
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 493e673a2e55356b1f53bd9b9229426f171f9094
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 4 15:45:15 2011 +1000

    Revert "Update all tools rotation property when rotating one of them."
    
    This commit is incomplete, shouldn't have been pushed.
    
    This reverts commit 570b9d06b20e3eb4e93501594d29e3b24d46d24a.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4ed300dbb3002230c578681fd86eebef414dc272
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 4 12:07:52 2011 +1000

    Only update bottomX/bottomY if they haven't been user-configured.
    
    wcmInitialToolSize() would xorg-configured overwrite BottomX/Y with the max
    values read from the tablet. Only set the two if they are non-zero (0 is the
    default value).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 1de7a780a392e363450967dfab8c3dd065fd0348
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sun Apr 3 16:07:38 2011 -0700

    Centralize pen and touch arbitration
    
    With the introduction of multi-touch, the chances of getting touch
    events while pen is in prox have been increased. One obvious use
    case is that the touch events could be used for gestures while pen
    is in prox. However, we do not want two cursors compete on the screen.
    
    Link the pen and touch device once during the initialization stage
    instead of every time when we receive a pen event. Then, centralize
    pen and touch arbitration process so we can store the touch data in
    wcmUSB.c instead of discarding them. The touch events will only be
    ignored if it is a single touch event that causes a cursor movement
    while pen is in prox.
    
    Some cleanup in wcmUSB.c is needed. It will be considered when we
    make MAX_CHANNEL a dynamic value based on MAX_FINGERS. The
    MAX_FINGERS is going to be the maximum of ABS_MT_SLOT that we
    retrieve from the kernel. That brings us to the state to support
    XInput 2.1 and devices that have dynamic number of fingers.
    
    Note: this patch is based on the assumption that all devices
    connected to the same system have unique product IDs. That is,
    no two or more identical devices are connected. Identical devices
    will be properly linked when we find a decent way to distinguish
    them in the driver.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 307ad96795605fc39d2c454e4c7efde94ecbed3c
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sun Apr 3 16:05:42 2011 -0700

    Add IsPen to cover both IsStylus and IsEraser
    
    It will be used more often when we need to compare touch events
    with pen events.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 570b9d06b20e3eb4e93501594d29e3b24d46d24a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Apr 4 10:30:32 2011 +1000

    Update all tools rotation property when rotating one of them.
    
    All tools on the same tablet share the rotation value, so if one of them is
    rotated, all of them must be. Since the property value is stored in the
    server, we need to trigger it explicitly.
    
    Test case:
    $> xsetwacom set "device name stylus" Rotate half
    $> xsetwacom get "device name eraser" Rotate
    
    Should print out the correct rotation value.
    
    Fixes #3070450
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bb29b90d29aa8ea25120c3db8b6ce9ca563cf202
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Apr 3 08:49:13 2011 -0500

    fix filter issue on MT bamboos
    
    Init tool device type is needed for all MT devices to do correct
    filtering; not just pen+MT tablets.
    
    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 b9566151e6029f77dcf22526308dabb262400774
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 1 14:54:05 2011 +1000

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

commit f72c358177a2b588c4915bf6fa5cd00f183c9486
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 1 14:59:20 2011 +1000

    test: update Makefile for include folder
    
    Fixes make distcheck.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cd0738f41c875c8a2ad5444558c505b47898a7f1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 30 13:09:59 2011 +1000

    Move npadkeys to fix comment.
    
    Fixing the comment would do too, but it really doesn't matter.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 81f191d7ed9ec1187f37c1df36db0683f65bd4a3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 30 12:55:26 2011 +1000

    Replace manual array size with ARRAY_SIZE macro.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit b522fdb493cb378af3206793e0b44d6652f7427c
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Mar 30 16:24:15 2011 -0700

    Check predefined serial number as early as we can
    
    Don't wait before we can post the events. Verify the serial number
    as soon as the information is accessible.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 155a4b96ae8f03d3c07a93622d4f1f1da266d174
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Mar 30 10:32:15 2011 -0700

    Revamp button/wheel/strip getters
    
    'get_map' is the new getter entrypoint and attempts to determine
    the mapping present on buttons, wheels, and strips. It calls on
    'get_actions' (essentially get_special_button_map) and 'get_button'
    (an 8-bit XA_INTEGER version of the same) to determine this. If
    both fail to find a mapping, it falls back to the method originally
    used for non-actions: punt and ask XGetDeviceButtonMapping for
    something.
    
    When raw buttons are removed from the driver, it should be possible
    to replace 'get_map' with 'get_actions' (since everything will be
    an action at that point).
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0f20c9b1d94bd8a53e5e9b6cf1b6f599457a1dca
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Mar 30 10:31:25 2011 -0700

    Merge 'map_wheels' and 'map_button' into a unified 'map_actions'
    
    These two functions are very similar, and have been merged together
    to provide a single conduit for all action mappings. Button-handling
    code requires a little bit of special-casing (we need to be sure to
    get a button to modify, and to change the arguments appropriately),
    but nothing remotely worthy of breaking into its own function.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5f0b0dd0ed106a99d356e95bb4b73fadba21194d
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Mar 29 16:18:36 2011 -0700

    Remove 'special_map_wheels' and 'special_map_buttons'
    
    Since neither function actually do anything that couldn't just
    be done in 'map_wheels' and 'map_button' respectively, we simply
    squash them together.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e9e7397cd1f1bc37f27992114cebd39f4ad93e12
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Mar 29 16:18:35 2011 -0700

    Remove map_button_simple
    
    With parse_actions now handling simple button mappings, we remove
    this function which essentially duplicates its functionality.
    
    Note that there is a small difference in how the new parse_actions
    code and the old map_button_simple code handle things. The former
    Translates a single numeric argument into an action (e.g. "3" is
    turned into "button +3"). The latter cleared any existing action
    and used XSetDeviceButtonMapping to have X remap button events.
    
    To better explain the difference, consider the two following commands
    run in sequence:
    
    xsetwacom --set $id button 2 3
    xsetwacom --set $id button 3 button 2
    
    Under the old map_button_simple code, both buttons 2 and 3 would
    produce a right-click event. This is because the first command has
    X remap all "button 2" events into "button 3" events. Since both
    button 2 (by driver's priv->button[]) and button 3 (by the explicit
    action) produce a "button 2" event, X remaps both events into "button 3"
    events.
    
    Under the new parse_actions code, things are what you'd expect: button
    2 produces a right click and button 3 produces a middle click. If the
    user wants, they can use `xinput set-button-map` to remap the buttons
    the same way that map_button_simple did.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f66bf4568c8b7005ab5611ab1b8c5c0c3819b1e3
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Mar 29 16:18:34 2011 -0700

    Allow parse_actions to parse simple button maps
    
    If argv contains only a single numeric argument, we assume the
    intent is to perform a button press. We add the necessary keywords
    to make the parser happy, and then parse as normal.
    
    This allows map_wheels to handle the "raw button" case that it has
    been missing. While map_button_simple also does the same* thing,
    that's another commit :)
    
    *Actually, map_button_simple does /almost/ the same thing, but I
    highly doubt anyone relies on the subtle difference in behavior.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e9dae780cb549f48aaf376af2b6382604c2760a5
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Mar 29 16:18:33 2011 -0700

    Make it clearer when actions are sent
    
    When I first saw this, I thought somebody forgot to put an else
    clause here; I completely missed that tiny return statement. This
    makes the reality a little clearer.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 357e3c3c50d81bd57bd412d7d6bde9120d367f4b
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Mar 29 16:18:32 2011 -0700

    Add WACOM_PROP_WHEELBUTTONS to cursor devices
    
    This enables the "Wacom Wheel Buttons" property for cursor devices,
    allowing xsetwacom to set (rel|abs)wheel(up|down) actions. I'm not
    sure if there are non-puck cursor devices which should *not* have
    this enabled, but until somebody says otherwise... :)
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c416728a5656748075f6671805d8da3869af2522
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Mar 29 16:18:31 2011 -0700

    Fix strip/wheel mapping
    
    Commit 2ce1c6b4 fixed a bug where X would crash after remapping
    strips or wheels. It made all the "keys" arrays one-indexed so that
    wcmUpdateButtonKeys would not write beyond the end of the arrays.
    
    This patch syncs the action lookup code with the use of one-indexed
    arrays so that the proper action is returned.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c7058d85a913d2f2a494667a640d4a25e6ca0e34
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 30 14:04:44 2011 +1000

    xsetwacom: add a comment to update button actions in the right order
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit db66113366af1054c625940ba38c207d15bd59c1
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Mar 29 16:18:30 2011 -0700

    Fix "buttons must be set twice" bug from d650b139
    
    *facepalm* I simply can't believe I didn't test this, but there's
    no denying the bug exists. Looks like the change to 'btnact_prop'
    *must* occur after the change to 'prop'. If it happens beforehand,
    then the driver appears to be eternally one step behind xsetwacom.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9e46d9776f6c57abc128ac12a9ef8c03ad242eac
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 30 08:32:25 2011 +1000

    Add some comments for device_id and device_type handling.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit c5cbebabe796e86b94467bb7de3387e4e708f40a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 24 20:45:22 2011 +1000

    Remove discard_first field from DeviceStateRec
    
    Obsolete since the removal of old serial devices.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 2cc298863457fe9e171cb2c7494b83f2d971ccdb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 24 20:45:21 2011 +1000

    usb: print invalid max value if we get one.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1421082661074a201ec2bd98b826ac4154cef9f0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 24 20:45:20 2011 +1000

    usb: swap two checks.
    
    If the absbit isn't set, don't bother with the EV_ABS ioctl.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 6e21f9c6a7abc79eb89d4c742ffd0cee6bf86552
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 24 20:45:19 2011 +1000

    usb: remove to superfluous linebreaks.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 2d55e561956dc7beb0aa6fd2d814c0540e654e34
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Mar 28 10:06:56 2011 -0700

    Change hardcoded string to already-defined constant
    
    WACOM_PROP_BUTTON_ACTIONS is already defined in wacom-properties.h
    Lets use it instead of all those magic constants.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 32d14dc4a9787356024020fd25e463a90a25f349
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Mar 28 17:51:34 2011 -0700

    Resolve the oldHwProx puzzle
    
    Change oldHwProx to oldCursorHwProx to better reflect its use.
    
    oldCursorHwProx keeps the hardware in/out prox state so we can
    set the MaxCursorDist for the next round of relative cursor
    movement when tool first comes in prox.
    
    For Protocol 5 devices, distance is reported as the maximum
    when tool is first detected. Then it is gradually reduced to 0
    when getting closer to the tablet. Protocol 4 is the opposite:
    distance is 0 when tool is first in prox. The value increases
    as the tool gets closer to the tablet.
    
    The maximum distance (wcmMaxDist) is model specific. They are
    retrieved from the kernel.
    
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5fec376c46e3840fe2e3f838df67cefee1c0d6c6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 24 10:55:58 2011 +1000

    ISDV4: use libudev instead of manual syspath creation.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 4b475087b827d143df93c2acc0017a9b79ff859a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 24 11:37:39 2011 +1000

    ISDV4: update a comment, we may return tablet id 0x90 on failure.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit d650b1399d37e6f2b6f151b011d72b219a5405b8
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Mar 25 17:32:56 2011 -0700

    Make set/unset code easier to understand
    
    Between the parsing code seperating the two halves of set/unset
    and the code being confusing in general, I've rewritten this
    to hopefully make its operation a little clearer for the next
    person.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5b27df4274ae59e0e279096ac46836564d22c2ea
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Mar 24 18:02:54 2011 -0700

    Make parse error more helpful
    
    When a set of arguments cannot be parsed, knowing the word that
    did not make sense doesn't help if you've used it more than once.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d6ac23b79ccf65d30f07dbb1986ad9d6773ecd30
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Mar 24 18:02:55 2011 -0700

    Don't use unset_prop
    
    We don't need to bother changing the device property if
    we're unsetting since we're just going to be deleting it
    anyway.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c932e062ba894e50d2dd4c2e653e86915597ee52
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Thu Mar 24 18:02:53 2011 -0700

    Return from function on parse error
    
    If the arguments to this function are only parseable up to a point,
    the function prints a warning but still makes the (partial!) requested
    change. For example, if the user runs:
    
    xsetwacom --set 10 Button 1 "key +a notakeyword -a"
    
    The program prints a warning about it not recognizing "notakeyword" and
    maps Button 1 to "key +a". Instead of making partial changes, xsetwacom
    should instead bail at the first sign of a problem.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c690302586bf352395ca7bd1299866a97cc054da
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Mar 24 15:36:03 2011 -0700

    Add CursorProximity to xsetwacom.man
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ed668c1b768967b3bf5a6174c16c6d3732c1b4fe
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Mar 23 14:57:51 2011 -0700

    PAD is always on PAD_CHANNEL
    
    Don't assume the last tool was a pad, which confuses those tools
    that never receive a serial number. Keep PAD on the PAD_CHANNEL.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6278f4fe4afd3ae627ea676e3c655f1e3968cd8b
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Mar 23 14:57:33 2011 -0700

    Fix a copy/paste error in usbFindDeviceType comment
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit dfc8404bec1d9d4d5eb65a2d29779d7ae1a18d62
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Mar 23 14:57:12 2011 -0700

    Support pen and MT on the same logical port
    
    Serial ISDv4 kernel driver, wacom_w8001.ko, provides both pen and
    touch events on the same logical port. Filtering touch events when
    pen is in proximity while allowing pen events (ABS_X/Y, etc) pass.
    
    Making this action configurable would make sense when XInput 2.1 is
    ready. At that point, we can post MT valuators while pen events are
    posted. Some code refactoring is needed to add a new channel to
    store the pen data as well as the 2FGT data.
    
    Defering the code refactoring until we support XInput 2.1.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 842f2e28f8ce90991bdb60921250c97a11101104
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 24 12:01:34 2011 -0400

    Silence compiler warning.
    
    ../src/wcmCommon.c: In function 'sendCommonEvents':
    ../src/wcmCommon.c:382:2: warning: 'value' may be used uninitialized in this function [-Wuninitialized]
    ../src/wcmCommon.c:329:22: note: 'value' was declared here
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 307f50afba024cb6558d7084f5a7d86ec76bd992
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 22 14:02:32 2011 +1000

    Fix strip_keys index, copy/paste error.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 880512f84c26cddbfc1a8ff495890595424466f2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 22 13:50:44 2011 +1000

    wcmUSB: change MOD_BUTTONS macro into a function
    
    Values in, values out. No magic state structs, keep it simple.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit aadf1e0d215e3e7dfe119c3e541d35854de2326a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 22 12:00:41 2011 +1000

    test: drop glib dependency
    
    We weren't really using any of the glib-specific stuff anyway, so just
    replace g_assert with normal assert and drop the dependency.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 91fb559b5b760c345333ec7ac67f429d61b44f9d
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Mar 21 17:56:09 2011 -0700

    Bring idtotype and findDeviceType to the style
    
    Make them into the usb family and follow the style guide.
    Consolidate tool id for the existing tools into three defines.
    Update findDeviceType to cover more cases so it may be called
    by other routines to retrieve tool types.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b0a6637a4cf262436fb21c2b734241f376289deb
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Mar 21 17:55:41 2011 -0700

    Move findDeviceType from wcmCommon to wcmUSB
    
    Serial model is not supported. So, findDeviceType is only used by
    wcmUSB.c.
    
    Now it is the individual model's, wcmUSB or wcmISDV4, responsibility
    to set the device type locally. For wcmUSB, since kernel input filters
    out duplicated events, we should retrieve the device type and
    associated events directly from the kernel to cover the case when tool
    is on the tablet during driver starts.
    
    wcmCommon.c will treat packet with undefined device_type as invalid.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 201d1c35c7de919714815be18b990e9acc570054
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Mar 21 17:55:18 2011 -0700

    Prepare for the removal of BTN_TOOL_FINGER for pad tool in the kernel
    
    BTN_TOOL_FINGER was borrowed to group PAD events. With the support
    of pen and touch on the same logical port, we can not use it any more.
    
    PAD events of generic protocol has already manually routed to the pad
    channel, the last channel of wcmChanel.
    
    This patch groups PAD events for protocol 4 and 5 by the device_id
    sent through ABS_MISC event. In/out proximity event is also set by
    the ABS_MISC event.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 09f6c0faade997da490c1cd0277eb7f2f6cc9ef3
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Mar 18 18:01:17 2011 -0700

    Clear the correct amount of memory
    
    Though this doesn't result in any bad behavior at the moment, it
    could cause some serious headaches in the future.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2ce1c6b47ff1596093d48b5cfccaddf17c6d2924
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Mar 18 18:01:16 2011 -0700

    Fix X crash after remapping touchstrips and wheels
    
    Crash first appears in ab311bf20535acd6e7201e024bc311e0e15b5b6b.
    This commit rewrote wcmUpdateButtonKeyActions with one-indexed
    arrays in mind and extended the 'keys' array in _WacomDeviceRec
    to make room. However, the 'wheel_keys' and 'strip_keys' were
    not updated.
    
    Running e.g. `xsetwacom --set pad StripLeftDown button 4` results
    in a call to wcmUpdateButtonKeyActions. Its call to memset oversteps
    the array bounds and just happens to zero the 'common' pointer. The
    next tablet event results in a segfault as the driver tries to
    dereference the pointer.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1427db0bfea8c015ddb713f49eb0f33450266e60
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Mar 21 14:10:42 2011 -0700

    Enable left click for MT touchscreen
    
    Tools that are in absolute mode emit left click when the tool touches
    the surface. However, tools in relative mode need to locate the object
    on the surface before it selects (left click on) the object. That is,
    a second event (tap/leave/touch) is needed to trigger a left click for
    relative mode tools.
    
    Tools on touchscreen is in absolute mode. So, send left click
    down/up when the first finger touches/leaves the tablet.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Acked-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 1c0696570c78b3454a9d847e5e9fe91bf0f04e9c
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Fri Mar 18 15:07:24 2011 -0700

    Remove one FIXME
    
    Get the "f" out of the code as well as the root cause.
    
    A proper fix would be to use resolution to decide the distance.
    That can be considered when we push the resolution table to
    the kernel. Hopefully, at that time, we can also post MT events
    to XInput 2.1 and push the gesture support to the desktop.
    
    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 1b8287e090c5d994a3f99eed227dbb08ad78c469
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 16 10:06:01 2011 +1000

    xsetwacom: add pgup and pgdwn as special keys.
    
    "Prior" and "Next" aren't quite that obvious so specialcasing seems
    warranted here.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 1cfe05195698583e002d19eb12fc6221639283df
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 10 16:22:33 2011 +1000

    xsetwacom: update the property when we have items to write
    
    Introduced in 22bc3028effbdc79d426c0b3dcf586734d4c7532, changed logic caused
    the property not to update in all cases.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7ed24d165121e167930e34a3ea8532e358c003f5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 15 11:54:49 2011 +1000

    Add fake symbols for serverClient and QueueWorkProc
    
    Broke linking of unit tests in
    94a8eabadd062de6ceed8563089b863d887f8770.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 863714247c8d6020748c0cf099f1e06caf6b2b06
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Mar 14 16:10:59 2011 -0700

    Add tests for convert_value_from_user
    
    Some basic tests to ensure booleans and non-booleans act like we
    want them to.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f58feb275b51f1f9e059e668609591434021559f
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Mar 11 15:13:54 2011 -0800

    Expand recognized boolean input for convert_value_from_user
    
    We remove the case sensitivity requirement for off/on and also
    allow the use of "true" and "false"
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d4f44eddeb497ecfaa99449b565f6bdf46c3b9fa
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Mar 11 15:13:53 2011 -0800

    Use strtol instead of atoi in convert_value_from_user
    
    atoi provides only the most basic string conversion capabilities,
    and makes determining if conversion was successful difficult (both
    "abc" and "0" would return 0). We use strtol and checks to ensure
    that it converted the entire string sucessfully before returning True.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 12eebced3f004a0bea2c85d2197897de28bf7781
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Mar 11 15:13:52 2011 -0800

    Detect boolean conversion failure in convert_value_from_user
    
    Properties with PROP_FLAG_BOOLEAN set can only take on a restricted
    set of values. We detect if the string matches any of the allowed
    values and convert if possible. If not possible, the caller is notified.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e5af4b9928b983227cad711496d258cde5d62cfd
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Mon Mar 14 16:19:24 2011 -0700

    Change signature of convert_value_from_user
    
    Have it return true/false to indicate conversion success/failure.
    Note that in its current state the function cannot tell if there
    was a conversion failure...
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9ecc125c1c59b591a89e6f10b79b2e1e49c86165
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Mar 13 22:27:44 2011 -0500

    Initialize USB pad device once up front
    
    Streamlines normal execution some but also resolves an issue reported
    for older Bamboo's since its now executed for all protocol types
    and not just generic protocols.
    
    Older Bamboo's and Graphire series always keep PAD device in proximity
    so you can pretty much count on never recieving a BTN_TOOL_FINGER
    event.
    
    This does work of that missing event.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 33a031cab73424a0a1ea5ded36fa6631c9a5811e
Author: David Foley <favux.is@gmail.com>
Date:   Mon Mar 14 15:54:52 2011 +1000

    xsetwacom.man: Fix whitespace issues
    
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3c0a16ac630603bf966e0a9fc1ee6d5be4276156
Author: David Foley <favux.is@gmail.com>
Date:   Sun Mar 13 17:57:10 2011 -0500

    xsetwacom.man: add RawSample and Suppress parameters
    
    Add RawSample and Suppress to parameter description table.
    
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 301297d6423a3556fd94006d739a4afca82b5812
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 10 10:12:48 2011 +1000

    Re-vamp source inclusion for test build suite.
    
    test/Makefile.am included src/Makefile.am for the driver sources. However,
    that also lead to the driver being built twice, once in src/ and once in
    test/. On make install, test/wacom_drv.so would overwrite the
    src/wacom_drv.so and thus install a driver with all static symbols compiled
    as non-static.
    
    This caused the VCOPY bug worked around in
    9d227cd0bd985e7dcb7923974361145ba1d78713.
    
    Avoid this by moving the sources into a shared included Makefile and build
    an independent libwacom-test.la in the test directory.
    
    Reported-by: Eduard Hasenleithner <ehasenle@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Eduard Hasenleithner <ehasenle@gmail.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 36ea587badc947c027c40ee4387a2d5540a9a5b3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 11 09:30:45 2011 +1000

    xsetwacom: remove unused need_update
    
    Unused since ba77b532e6c2a0b7b05ab129009c1f614b089c37
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit a3b6e2079155c5774baabcd9e3c53b3336536e49
Merge: 43c82c3 69d3e93
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 14 15:42:00 2011 +1000

    Merge branch 'race-condition'

commit 43c82c3139ef8b9abee7eb79a8d9055df9874329
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Fri Mar 11 08:39:50 2011 -0800

    Remove XWACOM_MAX_SAMPLES
    
    XWACOM_MAX_SAMPLES is a duplicate of MAX_SAMPLES, and appears to have
    no reason to be included in the Xwacom.h header. We remove it and
    retarget all references.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 676b25e5ec5eb70d45d3228b28bef5c8a68ab7f6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 11 10:53:51 2011 +1000

    Reset tiltx/y after converting it to rotation.
    
    Quote from Ping:
    "Since tilt is only used as raw value to calculate rotation for I4 mouse,
    i.e., they are not posted as valuators, resetting them or not does not make
    a difference."
    
    Let's reset it to 0 then so we don't get confusing values during debugging.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit abfcc2ac187a4a7131503c0aa80e166ca384034e
Merge: 857ef81 90ba050
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 11 09:31:23 2011 +1000

    Merge branch 'wcmTilt2R-fixes'

commit 857ef8159451fe52cd999f523d9c500f6c32c0e1
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Wed Mar 9 09:52:57 2011 -0800

    Perform bounds checking on RawSample
    
    I made the mistake of setting this to zero and then bringing my
    pen into proximity. Ooops. X crashed. Looks like mathematics
    still can't handle getting the average of zero things ;)
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 90ba05056578405307e737620782a581b942ef62
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 10 14:18:13 2011 +1000

    Change signature of wcmTilt2R to return the rotation calculated.
    
    Take an input point, calculate the rotation and return it. No need to deal
    with device state structures, etc.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 1023572644c5f00a418043615e802484fcff6e71
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 10 14:13:37 2011 +1000

    Sanitize wcmTilt2R.
    
    Cleaning up the code, rewriting the calculations, documentating the steps
    taken. It's understandable now. Whoop-dee-doo.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 42dc7cb652c5cf84433aac2aa791dc9fdb39ec2b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 10 13:08:26 2011 +1000

    Add a offset paramater value to wcmTilt2R
    
    Say No To Hardcoding.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 08c5fc41ef3f81dafbb50856c589fdf4e9f5f89c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 4 09:39:15 2011 +1000

    Fix wcmTilt2R so it uses defines instead of hardcoded numbers.
    
    Every time number is hardcoded deep inside the driver, god kills a kitten
    and a little part of me dies (unrelated to the kitten death). Use the
    defines already.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 56c550a11b57ccdc3e0d9ebcdeb323734c7c48f7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 4 08:56:57 2011 +1000

    Document wcmTilt2R (and add a fixme)
    
    Because not everyone has hours to figure out what each function does.
    Come to think of it, I don't actually either...
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 8d61689016b961a33e6950b09f191c16741dd608
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 10 11:15:01 2011 +1000

    test: write a non-test for wcmTilt2R
    
    It's non-transparent what wcmTilt2R actually does at the moment, so generate
    a test table from the current code and test against that. This
    way we at least know when we're breaking something.
    
    Exception: wraparound value generates +900 instead of -900.  We must not
    send +900, our max range is 899, then we wrap again. This function isn't
    supposed to generate this value, so manually fixed up.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 8e4dabd64a611dd5571aef6aff8dfb5dd258655e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 4 09:41:48 2011 +1000

    Remove superfluous function declaration
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 65220fa0276cbec10b51832c2bf9946c4bbfc4e8
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Wed Mar 9 11:27:14 2011 -0600

    remove per-device filter function
    
    Over time, we've merged device specific filter routines
    into single version.  So there is no need for historic
    hook to register at runtime.
    
    ISDv4 devices never registered any filter which seems
    like it would result in jitter.
    
    Removed RawFilter() from WacomDevice structure and call
    wcmFilterCoord() directly from wcmCommon.c.
    
    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 1af65269cd22ea69b5d0920922484e0b4be3f9f6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 10 12:04:21 2011 +1000

    Use xf86ScaleAxis for pressure normalization.
    
    And copy the server's xf86ScaleAxis for the test. Not ideal, I guess but oh
    well.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 0ee2a44a49ababe25dddc2b82dfa5a343fd7e893
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Mar 8 17:50:44 2011 -0800

    Enable RawSample and Suppress
    
    The driver apparently didn't look at the RawSample option, and
    xsetwacom confused it's offset with Suppress. In other words:
    if you thought you've been tweaking Suppress, you've been tweaking
    RawSample. If you thought you were tewaking RawSample, you weren't
    doing anything.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 22fcd2305c1f7464bdf15286c2690fd307629c5d
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Mar 8 17:50:43 2011 -0800

    Remove RawFilter from xsetwacom
    
    With support for the option completely removed from the driver,
    remove it from xsetwacom as well. Also modify the deprecation
    warning to handle cases like this where we don't want a replacement.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ca418548e8c0114df5c7830ae6e4dc28bf38caf4
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Mar 8 17:50:42 2011 -0800

    Remove RawFilter option from driver
    
    This option was mostly removed from the driver at some point in
    the past, with only these vestigal lines remaining.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7861dc281307d2a8727a99c31009af8ede144479
Author: Jason Gerecke <killertofu@gmail.com>
Date:   Tue Mar 8 08:53:44 2011 -0800

    Fix minor doc style inconsistencies
    
    Add/move periods and whitespace, make defaults consistent, and clarify
    where necessary.
    
    Signed-off-by: Jason Gerecke <killertofu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3282e954f209683ee2026d72b2adfbf1d4c48cb0
Author: Andrzej Pronobis <a.pronobis@gmail.com>
Date:   Mon Mar 7 12:42:01 2011 -0800

    Decide scroll direction according to tablet orientation
    
    Signed-off-by: Andrzej Pronobis <a.pronobis@gmail.com>
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fc41fb63dd883fc29236af535b22a2b347dfe326
Author: David Foley <favux.is@gmail.com>
Date:   Mon Mar 7 12:56:35 2011 -0600

    xsetwacom.man: Add 5 parameters
    
    Add Mode, PressureCurve, Rotate, TabletPCButton, and Threshold.  And other changes.
    
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit acd8552d83929963d5cc70d6217c5a15da86c6c0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 7 14:38:31 2011 +1000

    Don't try to update the button mapping if we don't have anything to update.
    
    If keyword parsing failed and we have zero items to update to (but we're not
    trying to reset the property), don't update the button action property.
    
    Reproducer: xsetwacom set "device" Button 1 "blah"
    would print an error about invalid keywords but still update (erase) the
    button mapping property.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit eba6b9416148e5423c5a0c2632d88dbee5589615
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 7 14:35:54 2011 +1000

    xsetwacom: fix button action unsetting
    
        xsetwacom set <devicename> Button 1
    should unsets the key action for button 1 (back to button mapping)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 8ed4e95e8e65f569a3639959331f0a95b0917f11
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 7 14:29:21 2011 +1000

    xsetwacom: update a comment  for new button map arguments.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 22bc3028effbdc79d426c0b3dcf586734d4c7532
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 7 14:21:22 2011 +1000

    xsetwacom: don't re-use argc, add new var "unset_prop"
    
    No functional change, making the code more readable.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit fe07179e4976cdcc530bd2dd3cd482a65a3fd43d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 7 14:16:55 2011 +1000

    xsetwacom: print error if an unknown keyword is given.
    
    xsetwacom set "device" Button 1 "Ctrl Z" cannot be parsed by xsetwacom,
    leading to a nonfunctioning button without the user realising why. Print an
    error and complain if the keyword is unknown/invalid.
    
    Bug 3054502
    https://sourceforge.net/tracker/?func=detail&atid=525124&aid=3054502&group_id=69596
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit c4007437dcd7b24d949b80fb49e5e8e0699b4201
Merge: a8c95a7 abb4144
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 7 13:11:56 2011 +1000

    Merge branch 'suppress-cleanup'

commit abb4144f6ec125fa37fb6cd1f3eb0c4616367359
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 4 09:37:13 2011 +1000

    Don't hardcode the rotation range for cursor RZ, use defines instead.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 379be28b51d782c18a2f8ea3b7d59b08329ebbc0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 4 09:13:28 2011 +1000

    Fix typo for max axis range on the cursor tool.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 859d325be9fc303b78ee4b2fde7fd6ca18888b4d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 4 09:05:09 2011 +1000

    Fix indentation in wcmTilt2R.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 5ca0e09f9058e47d2a2ff1c5474bc1b5aef92c14
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 3 14:04:39 2011 +1000

    test: remove miPointer wrappers, unneded.
    
    Obsolete with a9fe6a0337183c653ede6b5724612a138b022fb9
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit aa96977dc7ff0b44b7d1dcb5bf524c339d4820e5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 3 14:01:21 2011 +1000

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

commit 1982daf6b13685cc6568a53b85d62089405963a9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 3 13:40:08 2011 +1000

    Rewrite wcmCheckSuppress
    
    Instead of returning rather ambiguous 0, 1 and 2, return enums with readable
    descriptions.
    
    No functional changes, other than that we now skip a few tests in
    wcmCheckSuppress if we already have the result.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit a8c95a7975ffa16779cced264062bc64b8631095
Author: David Foley <favux.is@gmail.com>
Date:   Fri Mar 4 12:50:39 2011 -0600

    conf: Add Fujitsu ISDV4 device ID FUJ02e9 to matches
    
    Signed-off-by: David Foley <favux.is@gmail.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 89db1ede87db655b57fb2234194f1c26993ef166
Author: David Foley <favux.is@gmail.com>
Date:   Fri Mar 4 13:28:24 2011 -0600

    wcmUSB.c: Update BambooPT identifier comment
    
    Change 0xDB from CTH-661 to CTH-661/L.
    
    Reported-by: Pander <pander@users.sourceforge.net>
    Signed-off-by: David Foley <favux.is@gmail.com>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e79f7a730cedee93db363c20ddddc9e90b41ef3b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 3 12:02:27 2011 +1000

    Swap an error message "likely to crash" for one not likely to do so
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 0250ecbc798b47821ed81e87ab852b6cc342efe1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 3 11:54:18 2011 +1000

    Remove now-obsolete condition.
    
    With the removal of the tool areas, this check became obsolete.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit fe46ffdd55f877e0750017285724181b3ddf4a4c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 3 11:53:36 2011 +1000

    Document findTool()
    
    And rename tooldef to tooldefault, I always get confused by that.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 07964dc148767f78fee691981935f9450a1981bf
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 3 11:50:50 2011 +1000

    Document is/set_absolute
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 69d3e9387105e0a92cae95f6f81a62e868506c06
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 3 15:52:56 2011 +1000

    Add a fixme about tool handling.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 751976d32f756197cc7254ae85956eebdf7e8e47
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 3 14:32:38 2011 +1000

    Keep an enabled flag in the tool to avoid racy startup.
    
    There is a small time window where a device may try to send an event even
    though it is not fully setup to send events yet, causing a server crash.
    
    This window opens when the tool is added to the list of devices in
    wcmParseOptions() and closes with the server calling xf86ActivateDevice().
    If an event for a dependent device is processed during that time, the tool
    will be available but the device pointer is still invalid.
    
    Crash can be reproduced by putting a breakpoint after wcmParseOptions() for
    the eraser, then generating events with the eraser. These will cause the
    tool to dereference tool->device->dev, which is uninitialized.
    
    Work around this with a simple "enabled" flag that is set whenever the tool
    is actually enabled.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 94a8eabadd062de6ceed8563089b863d887f8770
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 3 11:29:19 2011 +1000

    Switch to a WorkProc for device hotplugging.
    
    The current approach to hotplugging is to call NIDR directly from the parent
    device's PreInit. This causes a nested device layout as the dependent
    devices are initialised fully before the parent device is initialised.
    
    Switch to a WorkProc instead. Copy the necessary information to create a new
    device later and tell the server to call the actual hotplug function when it
    has time.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 490e345f9d85a73263e96ba0b2918a9a2ca913ad
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 3 15:27:20 2011 +1000

    Don't manually UnInit the devices for ABI 12
    
    One of the changes going into ABI 12 were that the server calls Uninit even
    on driver-hotplugged devices.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 66466dcf8bbe4c633c006863b30d8d022c575842
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Mar 2 15:16:15 2011 -0800

    Don't discard the first 2 USB events
    
    It was an issue with older kernels. This driver only supports
    kernels 2.6.26 and later. No need to do that any more.
    
    There is a special case that this code may have helped though.
    If tool is on the tablet while driver started, waiting for more
    events before processing them would fill some otherwise filtered
    events from the kernel. Even for this case, the solution should
    be added inside wcmUSB.c, instead of here.
    
    We'll work on that in wcmUSB.c later. Just for the record. The
    perfect solution would be to retrieve all events from the kernel
    if important events, such as tool type, serial number, etc, are
    missing. This would require quite some changes in wcmUSB.c. And,
    the challenge is that linux-input doesn't provide the means for
    us to retrieve all of the events that posted from the kernel. At
    least, we can not retrieve serial number and MT events yet.
    
    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 438da502c84e7742acb31e433e42efd5bd003581
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Mar 2 15:16:49 2011 -0800

    Set ISDV4 to PROTOCOL_GENERIC in isdv4ProbeKeys
    
    isdv4ProbeKeys is the place we set all tool types and other keys.
    Reset the ProtocolLevel to PROTOCOL_GENERIC here as well.
    Otherwise, it would be overwrote by the default.
    
    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 22e4410cb3de0ac6b6e2275bd8b8bcc0f2cf7b5a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 3 10:05:55 2011 +1000

    test: fix typos and copy/paste effects.
    
    Misplaced closing parens, then copy/pasted everywhere.
    Introduced in 1d9a055bc8e95f20458d7da5b77967f2e53b7d6f
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5c06d9584e1f231bea47aaf1dd33e0502dee34be
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 2 10:40:44 2011 +1000

    test: add license header
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>

commit b80876c01ce62baa63c2563aeef399ffea73f588
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 2 10:39:57 2011 +1000

    test: add note that we can't test static variables here.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>

commit 1d9a055bc8e95f20458d7da5b77967f2e53b7d6f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 2 10:03:31 2011 +1000

    test: add ifdefs to allow running tests against 1.7
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>

commit 9d227cd0bd985e7dcb7923974361145ba1d78713
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 2 10:34:36 2011 +1000

    Move VCOPY storage out of the function.
    
    Not 100% sure why this is needed but it looks like the returned address is
    invalid, causing memory corruption. Simply moving the variable into a global
    scope fixes this issue.
    
    Fixes crash with server 1.7.
    
    Reported-by: Vu Ngoc San <san.vu-ngoc@laposte.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit a113f790fe19b0d30b672eb051a3215880df5d3e
Author: Timo Aaltonen <tjaalton@ubuntu.com>
Date:   Wed Mar 2 19:09:27 2011 +0200

    xsetwacom.c: Fix a typo preventing Rotate ccw from working
    
    Introduced in ac821ba29a828fb9bb531243d0a226a7fe494504
    
    Signed-off-by: Timo Aaltonen <timo.aaltonen@canonical.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9dba8e81e132561732c3bc6c0645a6af44eab2a0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 2 11:47:45 2011 +1000

    Bump to 0.10.99.
    
    New release versioning scheme until we settle on a stable 1.0.
    - 0.x.99 is the version number in-between releases
    - 0.x.99.901 is the first RC
    - 0.x.99.902 is the second RC
    - 0.x+1.0 is next the release
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1f0cfe5dd48eec52c495c5777d20758563318783
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 1 15:05:05 2011 +1000

    test: add basic check that the tool is initialized correctly.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 82e65fc52d497b57dab4bcd008ee64f9f7f08796
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jan 21 14:07:55 2011 +1000

    Remove now unused overlap checking functions
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 13a12bb852f845ce5588f1e7dcda18cd2c21cb59
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jan 21 13:52:08 2011 +1000

    Purge toolarea from device rec.
    
    Having multiple areas for tool is feature that has gone untested for
    possibly years and it's hard to figure out how to even configure it.
    Purge it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 751065df9bce662f2e1d74746e1ce6b6cb8c73ce
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jan 21 13:31:15 2011 +1000

    Purge KeepShape option (for now, anyway).
    
    This option is badly broken since the driver has lost the ability to check
    for screen coordinates.
    
    There is a need for this option, but it will have to come back as a
    purely client-configured option (i.e. the client feeds the tablet
    coordinates it should map to).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 24019a07a56fb73132273910d36a036d1c811bb9
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Feb 20 22:49:33 2011 -0600

    Make 1 finger tap work based on finger release.
    
    Previous behavior required a double-tap to get a single finger
    tap to work and didn't always work for me.  Its behavior was basically
    tap-and-drag gesture instead of tap-to-click.
    
    Converted to standard touchpad behavior of single tap based on finger
    release.  This is arguely the more important gesture to users.
    
    Removed wcmTouchpadMode since it wasn't needed for simple tap-to-click
    gesture.  If tap-and-drag gets added back and needs a variable, it can
    be added back with a name that has "drag" in it to understand its
    intended usage.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Tested-by: Andrzej Giniewicz <gginiu@gmail.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1b30bd68111b7e08fb9ded4302ba556f16253a8a
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Feb 20 19:19:20 2011 -0600

    allow button events while touch is disabled
    
    PROTOCOL_GENERIC devices send "pad" buttons along
    with touchscreen/touchpad events.  Since we are
    emulating "pad" device concept, we need to let
    "pad" events go through when "touch" is disabled.
    
    There seems to be a popular script floating around
    that toggles "touch" device on/off by using
    same devices "pad" buttons.  This patch allows that
    to work again.
    
    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 85f4c8ed19f8816d0353ee302cf34f8d11e2b14b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 24 15:28:45 2011 +1000

    Disable KeepShape - it's currently unsupported.
    
    Will come back once it's hooked up properly again.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 577f42d38b66fd84594a6d3f2932a559e68b5751
Author: Bruno Vasselle <bruno.vasselle@laposte.net>
Date:   Fri Feb 25 08:31:21 2011 +1000

    Division by zero in wcmInitArea when KEEP_SHAPE_FLAG is on.
    
    Under some circumstances, wcmInitArea faces a division by zero when trying
    to deal with the "KeepShape" option. The patch disables KeepShape in the
    situation.
    
    Signed-off-by: Bruno Vasselle <bruno.vasselle@laposte.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 240e694d861fe78d516f43f315dbe2b634368131
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Feb 22 17:23:42 2011 -0800

    Retrieve the ABS values through EVIOCGABS only when they are set
    
    We get absinfo.maximum = 0 when the ABS_ is not set in the
    kernel, which is invalid.
    
    This issue was found when I work on the resolution. It applies to
    other ABS_* as well.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ac4f60e378150369f7de64045d80e2f2318e0f63
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 23 09:59:15 2011 +1000

    Update README with a few pointers to website, etc.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 87d09b7addeee2d7119c81c2f5b415ceebc50931
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Fri Feb 18 11:50:52 2011 -0500

    distcheck fails, xsetwacom.c needs X11_CFLAGS for UNITTESTS
    
    Otherwise it fails to pickup X11/keysym.h and friends.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 957de9b5a32efaf891e5d4ed55207297b060e605
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Fri Feb 18 20:02:12 2011 -0500

    Doxygen: add project name in footer.
    
    The footer was generated by doxygen based on doxygen.conf
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a52277e7f2864493342affb6a4fc6cda74a9d0af
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Fri Feb 18 20:02:11 2011 -0500

    Doxygen: use $PACKAGE_VERSION for the release number
    
    The release number in the main page will always be in sync.
    This will allow archiving the API documentation for each release,
    enabling multiple versions to coexist on the web.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e21033fb505734a934bd0400d9ff72e7ec32c326
Author: Favux <favux.is@gmail.com>
Date:   Thu Feb 17 21:09:32 2011 -0600

    xsetwacom.c: Correct typo-spelling
    
    Patch
    
    From 6e682f268416db29cb178f1f7f734b7687081d29 Mon Sep 17 00:00:00 2001
    From: David Foley <favux.is@gmail.com>
    Date: Thu, 17 Feb 2011 20:57:38 -0600
    Subject: [PATCH] xsetwacom.c:  Correct typo/spelling
    
    Reported by: Vu Ngoc San <san.vu-ngoc@laposte.net>
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 01cf69515fa808c09e2ac80c29d6c638ac8191e7
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Fri Feb 18 12:05:31 2011 -0500

    Doxygen: add description on the main html page
    
    Rather than staring at a blank screen.
    To be completed.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit af58a7af91c00ef4da56c92d143d6bad1475196d
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Fri Feb 18 12:05:30 2011 -0500

    Doxygen: add "getting started" support.
    
    Add Makefile.am and docygen.conf with some customization
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b667dd01313bfbc5c76326de61d7fc659076581c
Merge: 244b5ad 79b3945
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 18 10:07:06 2011 +1000

    Merge branch 'next'

commit 244b5ad8f88d3db52bdde7ade9087b096e5a12ea
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 17 14:56:06 2011 +1000

    Require doxygen.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Gaetan Nadon <memsize@videotron.ca>

commit 6ca246bdbb40489490d0b9a72637f997e0629a61
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 17 11:31:36 2011 +1000

    Update release script to deal with SF's shell service
    
    I get auth. failures if I log in too often.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

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 79b3945d3ab3b270e7bd6a7deb8e6b52e0c2b8fa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 14 14:12:32 2011 +1000

    xsetwacom: comment convert_specialkeys.
    
    And change a paramter name to be more self-explanatory.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 70e0d864b16c36486e835a79b52699aee5de5a10
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 14 14:10:10 2011 +1000

    xsetwacom: document is_modifier
    
    And change a parameter name to make the function more self-explanatory.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit f7bbd3a14b796c8d6adef3322cc7a4b19a466c7f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 14 14:08:11 2011 +1000

    xsetwacom: use single exit path in is_modifier.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit ba20f19bf66b1e79f1aa56be6deb8aac952ff33e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 14 14:07:23 2011 +1000

    xsetwacom: remove separate modifier list in is_modifier.
    
    Simply parse through the existing modifier list.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 5fedf69d653cfbee9ac393643c4cbe0b23e87e19
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 14 15:12:49 2011 +1000

    xsetwacom: add test for parameter numbers.
    
    Simple manual check that we remeber to properly deprecate if we ever remove
    a parameter again.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 0b1462aa27bbf3d8653a762fd8e1648b856a76e3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 14 15:06:26 2011 +1000

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

commit f6dc39637056adc6fe503654b9f44f225dc4f6ac
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 14 14:59:14 2011 +1000

    xsetwacom: hook up to unittests.
    
    Includes simple test for is_modifier().
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit e1b97d153426d8e8712b09806ad0b0bfc517b485
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 14 15:10:50 2011 +1000

    test: fix indentation to be in-line with the rest of the driver
    
    And add the vim tags so this doesn't happen again.
    Sorry.
    
    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
    case of initial lost event.
    
    There is event lost recovery logic elsewhere but it is
    mistakenly setting this as a CURSOR device instead of TOUCH
    and its being discarded until first 2 finger touch occurs.
    
    Recent combo of commits caused this discard to start
    happening.
    
    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 d00f555a73c7b0e0ba86fc4c88593441fe7cb107
Merge: e9acf40 b46c5fc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 12 10:03:39 2011 +1000

    Merge branch 'tpcbutton-fixes'

commit b46c5fc0af5fe848c2b91dda70d94a3baaf56e53
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 11 12:04:54 2011 +1000

    remove now unused WCM_TPCBUTTONS flag
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 434e585eb12ea3771c48617760b3f077d842c28f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 11 12:02:35 2011 +1000

    Simplify TPCButton handling.
    
    Reduce the 4 near-identical loops with nested conditions into a single for
    loop and a few conditions beforehand for the TPCButton case.
    
    Button behaviour for TPC button on:
        * if only tip is pressed/released, send button 1 events
        * if button N is pressed and tip is pressed/released, send button N
            events.
        * if tip is already down and button N is pressed/released,
            send button 1 release, then button N events.
    
    Signedoff-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 0b12975a04a2b9c3946769ad80d07812c73f173d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 11 12:02:13 2011 +1000

    man: update TPC button behaviour with a more verbose description.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 017cac970cecfb6549c919abf7a16010de0f5829
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 11 11:57:52 2011 +1000

    Remove broken check for setting wcmTPCbutton
    
    At least one ! too many. Just remove the check, overwriting a value with the
    already existing  value in a non-time-critical path is not the end of the
    world.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit e87bd397aa26a2b735aa934fab324fb8957f966d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 10 13:26:52 2011 +1000

    Remove unused TCPBUTTONONE_FLAG define
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit f37d9c1198685dd9c0bf40b8b1527233c5b8196c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 10 13:24:29 2011 +1000

    man: state that TPCButton is only available on the stylus.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 523f4f11daadc5a463d379c8ebec023563c06d02
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 10 12:56:27 2011 +1000

    Only init TPC button property on the stylus.
    
    This behaviour applies only to stylus devices, not for any others.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit e9acf402953291b40cbf8ff31a44b35f9d947ebe
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 10 13:20:54 2011 +1000

    Abstract USB device check through a macro.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 5b27c1d69010e8ba0600ba8d9fd381b4fb9881c2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 10 13:13:31 2011 +1000

    Remove one duplicate default option setting.
    
    Overwriting the default option with the same value doesn't seem to be
    useful. Also add a fixme, this code shouldn't be here in the first place.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit eaaab6d7352cf1f6f0d94e6e3361b4587fc15801
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 10 13:04:22 2011 +1000

    Split re-used oldButton into self-explanatory variables.
    
    Much nicer to read, especially when viewed in patch context only.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit e4c1dc1bc5008bee8195f7dc8b07e0a5d2592a2c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 10 08:49:17 2011 +1000

    Move the type properties to wacom-properties.h.
    
    We're using them as type field, clients expect them, so let's export them
    somewhere more visible.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 9bca63fe9758649eb731661b20bde1d570b6c61f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 10 08:46:08 2011 +1000

    Fix comment, XI_STYLUS is not the device name.
    
    It's the device type name. The device name (identifier) is whatever the user
    assigned in the configuration files. Same goes for other device types.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit bc5fd9ee7e6a9eb364ff1f2f47bb41fe6bb2842a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 10 12:29:24 2011 +1000

    xsetwacom: fix 64-bit issues with MapToOutput
    
    Xlib for XI 1 expects 32 bit properties as long, even if on the given
    machine architecture the size of long is actually 64 bit. Hilarity ensues.
    
    Convert the floats to longs before passing it to XChangeDeviceProperty.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c756803f1c7077ea9ad91dcaf42f2304974ae263
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Jan 9 21:15:28 2011 -0600

    fix logic detecting ABS_MT_SLOT
    
    Somewhere along cleanups, it got switched to looking at wcmKeys
    instead of abs.  This bug though was making tablet usable
    with MT Bamboo driver until memset() could be removed.
    
    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 797e59e568cbca2b481824ca202a5fbe191afaee
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Jan 9 21:15:27 2011 -0600

    Use previous tools values when switching tools.
    
    Kernel side input event filtering forces user land to track previous
    tools values when switching to new tools.  If its not accounted
    for, sending new-but-duplicate values for new tool would cause
    confusion.
    Most cases of cursor jumps when entering proximity can be traced
    to how its (not) being handled in todays code.
    
    For generic and protocol 4 devices, its just a matter of removing
    existing memset().  For 2FGT protocol 4 devices, its slightly
    harder because it switches fingers between channels.
    
    Protocol 5 DUALINPUT devices are harder.  Take example of 2
    stylus in proximity at same time and one has tilt support but
    the other one does not.  Current kernel drivers will always
    report tilt values upon query and require user land to filter
    out as needed.  So we can't just copy previous values between
    tools.  For Protocol 5, this patch contiues to use old approach;
    at least until kernel side changes can be made.
    
    In this change, moved a strange force to in proximity to special case
    of no tool found.  See deleted comments in patch for background on that.
    
    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 fa69d0d3f0b0724f1964c470529448f6f3b2b172
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Jan 9 21:15:26 2011 -0600

    add PAD_CHANNEL for when PAD channel is hard code
    
    Protocol 4 and Generic hard code PAD device to use
    only last channel.  Create #define for this case
    to improve readability.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a1fe875f59e1fba06787d4a7a99130c31261d491
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Fri Dec 31 17:18:50 2010 -0600

    set 1FGT/2FGT based on wcmKeys instead of ID
    
    This allows new tochpad/touchscreens to be supported
    without modifications to xf86-input-wacom.
    
    BTN_TOOL_FINGER/DOUBLETAP/TRIPLETAP have incompatible meanings
    between generic and protocol 4/5 devices.  Add logic to detect
    generic devices very early and override default value of
    wcmProtocolLevel to help out wcmKeys parsing.
    
    Newer touchscreens will work in relative mode because currently only
    tablet_id informs this.  Generic protocols may eventually have
    something in kernel that can be queried for touchscreen vs.
    touchpad.
    
    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 3d1e060c6f3f92474c19a39b529ac92323df4ac9
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Dec 28 19:10:01 2010 -0600

    Set touch/gesture properties using features
    
    Since wcmKeys can have double meanings (MT Bamboo),
    switch to tablet featues.
    
    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 13734c86be023f2a26c586458e191f2127343a7c
Merge: 0f20c2c 44c6f74
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jan 7 11:15:11 2011 +1000

    Merge branch 'scroll-ring'

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

    Simplify scroll strip delta calculation.
    
    Subtracting two values seems to be a far simpler way of calculating a delta.
    This fixes the jumping strip on the I3 devices, at least for the vertical
    one. Horizontal one untested for lack of device.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 996b811a31a0a151878cad552db70b9674cf8a0a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 6 16:20:26 2011 +1000

    Add wraparound detection for the scroll ring.
    
    The I4 scrollring appears as absolute axis (0 - 71) to us, but as
    ring-shaped device to the user. Hence, a coordinate transition from 0..71 or
    71..0 is common but must be interpreted as a negative or postive movement
    direction, respectively.
    
    Add code to detect this by simply assuming that if the direct delta of
    old_x → x is larger than the indirect delta (across the axis range
    boundary), a wraparound happened. In that casel, switch the delta used for
    scroll wheel button emulation around.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 97b13e40fcbd4b17becb3bf9fc9f18a18d8edb60
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 6 16:09:53 2011 +1000

    Don't post scroll ring events after proximity events.
    
    If we're going out of proximity, don't post an event.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit a7eb13bf2edf0b5c55843a10480dde7d20a9219e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 6 16:02:25 2011 +1000

    Add defines for scroll ring min/max values.
    
    And reset the scroll ring to an invalid value when leaving proximity. 0 is a
    valid value for an absolute axis if the min for this axis is 0 too.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 166268aba66b3df0188ae35482e27ec6b12ae394
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jan 6 15:47:31 2011 +1000

    Send common events if the abswheel has changed.
    
    0 is a valid value for absolute wheels. Don't make the event sending
    conditional of an abswheel != 0, otherwise we may skip events.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 0f20c2c71e2a275ad57e97b98b5bd7a4f7fffa9d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 23 10:48:50 2010 +1000

    Use AC_USE_SYSTEM_EXTENSIONS for asprintf and friends.
    
    To enable asprintf, _GNU_SOURCE must be defined before including stdio.h.
    Use AC_USE_SYSTEM_EXTENSIONS to define it for us in config.h
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Gaetan Nadon <memsize@videotron.ca>

commit 68351dab43e800b503025ef2f06c794d40bc259b
Merge: 2b9eb3d 6f5f29b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 21 16:59:52 2010 +1000

    Merge branch 'multimonitor-purge'

commit 2b9eb3db9c7c517fe98f32f515cb65372b7bb069
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Dec 20 20:07:15 2010 -0800

    Bamboo tablet does not report device_id anymore.
    
    Process devices that do not report device_id through ABS_MISC from
    the kernel as WCM_PROTOCOL_GENERIC in wcmUSB.c.
    
    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 45d3206292db9ec28734ba5020a3b651b2e863fe
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Mon Dec 20 20:15:52 2010 -0600

    Enable 2nd touch for newer Bamboo MT driver
    
    This patch adds support for processing multi-touch (MT) kernel events.
    To do this, it must filter out older style single touch (ST) events
    to prevent conflicts.
    
    For Bamboo's/Tablet PC, channel 0 == 1st finger and channel 1 == 2nd finger.
    
    In older Bamboo kernel driver, serial #1 == 1st finger and serial #2 ==
    2nd finger.  Mapping to channel was serial # - 1 and events had to
    come in isolated by separate BTN_TOOL_DOUBLETAP/TRIPLETAP messages.
    
    With newer MT kernel driver, MT slot 0 == 1st finger and MT slot 1 ==
    2nd finger.  Take advantage of this straight mapping to channel.
    Code will ignore ST-style events then MT packets will write to
    either channel 0 or 1 or both.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ccd06c6e358a28213cf29268730132ce8ee2f297
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 21 11:50:59 2010 +1000

    Fix BIT() macro for 64-bit longs.
    
    1 is an integer, left-shifting it more than 31 places is undefined. Force it
    to be an unsigned long, so for a sizeof(long) == 64 we're still ok to use
    the macro.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 3bf705039353300deb31ed8c1e802c6f7195fe4c
Author: Ajay Ramaswamy <ajay@ramaswamy.net>
Date:   Sun Dec 19 14:46:26 2010 +0530

    Add support for the built-in digitizer in the Lenovo W700
    
    Submitted-by: Ajay Ramaswamy <ajay@ramaswamy.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 3bcf901d30ef21ccce23a270313a01e91422ff19
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 15 16:11:40 2010 +1000

    Initialise all pad axes as absolute axes.
    
    Now that the pad is absolute, we can initialize it the same way as the other
    tools.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit ce98b0a20862291892fc7a3110e4779cd69dd5ba
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 15 15:40:34 2010 +1000

    Switch the pad to forced absolute mode.
    
    The pad was in relative mode because we kept submitting x/y axes along with
    the other data (and x/y was always 0/0). Hence the pointer always moved to
    the screen origin when the pad was used.
    
    With the recent changes, we only submit valuators 3, 4, 5 for the pad and
    can thus switch the pad to absolute mode.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit b7f062284aebfab99c2684641fb23702beab26bd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 26 09:26:59 2010 +1000

    Switch wcmSend(Non)PadEvents to use first/num valuators
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit cd6eb526ecbccaab2887ab831068189d9303aced
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 13 15:37:57 2010 +1000

    Invert condition from if (!foo) bar() else foo().
    
    A bit easier to read, no functional changes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit e81da00a831a0951b40ffdacc59102f0a7ff9609
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 26 08:52:59 2010 +1000

    Move non-pad event processing into wcmSendNonPadEvents()
    
    No functional changes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 7fe6247ba92694b41863a45dbf0dbce76ad2f317
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 26 08:47:54 2010 +1000

    Move pad events into wcmSendPadEvents().
    
    No functional changes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 7e351a1ec942dfce85a45a0b9ade189c89f6a722
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 26 08:34:54 2010 +1000

    Copy valuators passed into xf86Post*EventP.
    
    X servers pre 1.9 used the data passed in directly and modified it in the
    process. A call of e.g.
        int valuators[];
        xf86PostMotionEventP(..., valuators);
        xf86PostButtonEventP(..., valuators);
    
    would thus post garbage data for the button event. Work around this by
    copying the valuators before passing them in.
    This is only needed for ABI < 11, server 1.9 duplicates the data passed in
    before processing.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 485137ef7524aad7d081669736b3a507e8833b13
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 25 16:10:18 2010 +1000

    Switch to first_val/num_vals/valuator coordinate passing.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 85ebaefab2906d1dd0560ec7210501c8b2295eb9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 25 15:56:58 2010 +1000

    Only delta the values for non-PAD devices.
    
    We claim the pad is a relative device, but only because we had troubles with
    the cursor landing at 0/0 in the past. Pretend we're still a relative
    device, but post the values as absolute ones to the server.
    
    Note that the device mode is to tell how the device _behaves_, it doesn't
    specify how the device sends valuators. Thus, a relative device may only
    post absolute coordinates and vice versa.
    
    This applies to motion events only, button events for the scroll ring still
    have the wrong valuator information.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 340760d8547614e07e44574e410d6a0bd217ea7a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 23 13:58:34 2010 +1000

    Use xf86Post{Motion|Proximity}EventP() for Pad tool.
    
    Only post the valuators we actually have, not fictious x/y valuators. The
    server will fill those in for us.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 1e4d3d7060a1c438ac619cb64febb44bc45b47ed
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 25 14:13:51 2010 +1000

    Remove wcmInitialCoordinates, move into wcmInitAxes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 1da851810cac797ebd576a312b029f2d9b6812ab
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 25 14:02:23 2010 +1000

    Move wcmRotateTablet() out of wcmInitAxes.
    
    And remove erroneous comment in the process, wcmRotateTablet only sets the
    rotation value, nothing more.
    
    Note that this changes the logic. Previously, the rotation was not set for
    the Pad tool, now it is. Since the pad never sends x/y coordinates though,
    this is irrelevant.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 9c173b153593d70b616c9e8f06830a9dde6255eb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 25 13:59:41 2010 +1000

    Split axis initialization into wcmInitAxes.
    
    And clean up the code to use less ABI ifdefs.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 184809445f29a70f4b8dbcf4a659fa8e51be8c9d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 23 11:13:21 2010 +1000

    Initialize third axis on pads as unknown relative axis.
    
    The pad doesn't actually send events on the third axis, it simply acts as a
    filler so that client's don't misinterpret the actual axis the device has.
    Initialize it as relative axis, because the rest of the pad is relative too.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 6ef1127f8476135a009f4ef135c98c33de6a19a7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 23 09:21:23 2010 +1000

    Don't call xf86ScaleAxis for relative devices.
    
    If the axis range is invalid, don't try to scale into the axis range. This
    supresses and error message emitted by xf86ScaleAxis().
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ae974beae0ba15678e68ca7684b12ccc143e6273
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 13 11:38:58 2010 +1000

    Don't reset the flags on init.
    
    In ABI 12, flags are used by the server and may contain attachment
    information. Don't reset the flags, we'd end up with floating devices.
    Since at least server 1.6, the InputInfoRec as calloc'd and flags is thus 0
    by default anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 51bbd26a542b12209d9fa5bcaf2ae5ca9acf5790
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 9 16:24:23 2010 +1000

    Resolution needs to be in units/m
    
    The X Input Extension requires resolution be exposed in units per m.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2115880799be10021247598680b88851c8a63b72
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 10 14:47:37 2010 +1000

    Fix compiler warning.
    
    wcmValidateDevice.c: In function 'wcmOptionDupConvert':
    wcmValidateDevice.c:319:2: warning: 'Xprintf' is deprecated (declared at
    /opt/xorg/include/xorg/os.h:271)
    wcmValidateDevice.c: In function 'wcmDuplicateAttributes':
    wcmValidateDevice.c:362:2: warning: 'Xprintf' is deprecated (declared at
    /opt/xorg/include/xorg/os.h:271)
    wcmConfig.c: In function 'wcmPreInit':
    wcmConfig.c:515:3: warning: 'Xprintf' is deprecated (declared at
    /opt/xorg/include/xorg/os.h:271)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4768309e7633152d4b6fb45bfef7d5faf4868165
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Oct 11 12:43:46 2010 +1000

    xsetwacom: change "list dev" output format to something human-readable.
    
    Three changes:
    - Extend device name padding to 32 characters, 16 isn't enough for
      auto-assigned names.
    - list the type as "type: <type>" instead of directly after the device name.
    - list the device ID as well
    
    The three fields (name, id and type) are separated by tab characters to ease
    parsing. Example output is:
    
    Wacom Intuos4 6x9 eraser        	id: 12	type: ERASER
    Wacom Intuos4 6x9 cursor        	id: 13	type: CURSOR
    Wacom Intuos4 6x9 pad           	id: 14	type: PAD
    Wacom Intuos4 6x9 stylus        	id: 15	type: STYLUS
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7c667678783741c4694ad023be9d381431449b3f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 9 15:38:56 2010 +1000

    WCM_TPC also implies WCM_LCD, set the bit accordingly.
    
    Shuffle PAD up to fill the hole.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit de04fe18a63563def569e0d718d121a39bab5fde
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Dec 8 14:27:31 2010 -0800

    Log messages specific to the device
    
    No real code change. Only updated xf86Msg so device specific
    information is posted.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a8e9bc43bcd11496b952c34aba4f307fa7300bb7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 8 16:11:44 2010 +1000

    Don't close devices on read error.
    
    If the devices were removed, the hotplugging code will take care of them and
    remove them. If the devices had some other error happen to them, leave them
    there and hope whatever it was comes back.
    
    If a statically added device was unplugged, the user needs to trigger
    DEVICE_OFF and DEVICE_ON manually to reopen (e.g. VT switch).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit 799bbf2cf9cd54942c66f9117df319e933bbd10b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 8 16:07:13 2010 +1000

    Don't free the device info on a failed PreInit.
    
    This data is later freed when the xserver calls UnInit().
    Freeing too early means we segfault later when trying to dereference
    null-pointers.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 646fc3656242199bf7a6d52138b69df810dd73f3
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Dec 7 12:29:36 2010 -0800

    Touchscreen includes TabletPC and display tablet
    
    We assumed TPC == LCD in the capacity check.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 65bd54a65d3b9b3bc2ec7a5a497cae35a608a81f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 8 15:34:05 2010 +1000

    Document the tablet feature bitmasks.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit d46e99e1db656a2655edb3bf69fbfcd1e68387ef
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Nov 29 12:41:59 2010 -0800

    Use BTN_TOOL_FINGER for generic touch devices
    
    As discussed at linux-input, BTN_TOOL_FINGER should be used to
    report single touch events. Update tool type and event process
    accordingly.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b80d658d2c3a3def87a3c9819535a06274abf3b9
Author: Camille Moncelier <moncelier@devlife.org>
Date:   Mon Nov 29 09:10:30 2010 +0100

    Removed touch resolution check as it is broken for CapPlus devices
    
    Signed-off-by: Camille Moncelier <moncelier@devlife.org>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 43933eb06c1782067027b3329490c7113c7039a5
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Nov 30 15:02:41 2010 -0800

    Don't normalize the abswheel unless it's from an airbrush
    
    Due to the limitation of number of valators we can use, Airbrush
    wheel and Art Pen rotation share the same fifth valuator. But
    they do not have the same range of values. So, we normalize the
    airbrush wheel (0, 1023) to the Art Pen rotation (-900, 899).
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6a1372676f4daea36028fdcffd32d9090d979cc6
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Thu Dec 2 17:11:41 2010 -0500

    config: missing randr extension not detected
    
    Problem introduced in commit 8f1dd625e00c182ec1b6a92b277214d1b8f88986.
    
      # Store the list of server defined optional extensions in REQUIRED_MODULES
      XORG_DRIVER_CHECK_EXT(RANDR, randrproto)
    
    The role of the driver check macro is to supply the name of optional extension
    to the PKG_CHECK_MODULES through the REQUIRED_MODULES variable.
    By reversing the order of the statements the variable is empty.
    
    The real fix would be to have 2 PKG_CHECK_MODULES statements, one to ensure
    the server is present at the correct level and one to check the dependencies.
    
    This won't be necessary as the RANDR extension is not optional,
    it is always present. It can simply go next to the others.
    
    All the xorg drivers have this flaw.
    
    This undetected missing randr ext problem only happens with server 1.8 or prior,
    as a new Requires.private statement has been added to server 1.9.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a474d4069f8622b5b158152c16c02118f2a4d415
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 2 10:28:53 2010 +1000

    xsetwacom: fix buffer overflow when printing button configurations.
    
    str[10] is not enough to hold a string of e.g. "+Control_L ". Bump to 32,
    that's probably enough for all keysym to string conversions.
    
    Reported-by: Marco Funk <thewiz4rd@arcor.de>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Tested-by: Marco Funk <thewiz4rd@arcor.de>

commit dc010f3a620192e59d1349cb432cd4e6ab1ec619
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 1 15:40:11 2010 +1000

    Fix segfault in case of unplug during PreInit.
    
    If the device is removed between wcmHotplugOthers() and the end of PreInit()
    of the first device, the close(fd) call at the end of PreInit("stylus") will
    cause a SIGIO on the file descriptor.
    
    The read call (wcmReadPacket(), usually on the last hotplugged device, e.g.
    the pad) will then result in an error, causing this device to close all
    associated devices through wcmDevProc. The parameter passed in is
    essentially pInfo->dev. This leads to a NULL-pointer dereference, as
    pInfo->dev is not yet set up for the first device since we're still in
    PreInit. Call stack is something like this:
    
    PreInit(stylus)
            wcmHotplugOthers()
                  PreInit(eraser)
                  PreInit(cursor)
                  ...
            close(fd)
    ......... unplug device here.............
            wcmReadInput(pad)
                  read error
                  wcmDevProc(stylus->dev)
                  NULL-pointer dereference
    Server sets stylus->pInfo->fd
    
    Segfault only happens when the device is unplugged when the pad is already
    active but the stylus is still before the server assigns pInfo->dev.
    Reproducible test-case: set a break point on the close() call in PreInit for
    the stylus, then unplug the device before continuing.
    
    This patch adds a check whether the device is already set up before calling
    close. If not, skip it. The DEVICE_INIT following PreInit will see a ENODEV
    on the fd and thus remove the device and its dependent devices anyway.
    
    Reported-by: Camille Moncelier <moncelier@devlife.org>
    Reported-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7731411ac572438d23ead812c801ff380e65bc2c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 1 10:19:37 2010 +1000

    xsetwacom: assume xorg.conf format for "get all"
    
    A list of parameter options is rather pointless given that the order of the
    parameters is pretty random. Assume xorg.conf format by default for
            xsetwacom get <device> all
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit af17bb81c5d74b1f75ce5e90068c263cddf6a325
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 1 09:29:19 2010 +1000

    xsetwacom: don't try to get write-only parameters in "get all"
    
       xsetwacom get <device name> all
    should list all parameters, but not write-only ones (currently MapToOutput).
    While the normal code path through "xsetwacom get <device> <parameter>" had
    a guard condition there, the "get <device> all" did not. Add it, to skip
    those properties that cannot be read from the driver.
    
    Reported-by: Marco Funk <thewiz4rd@arcor.de>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 770d13f4399218528535deff4dfa8f050eb83436
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 30 15:35:20 2010 +1000

    xsetwacom: fix property offsets for gesture tap and rotate.
    
    Reported-by: Marco Funk <thewiz4rd@arcor.de>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Marco Funk <thewiz4rd@arcor.de>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 6f5f29b49a6ebda7ae13ca9c32e6e16cf3181fc2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 24 15:21:16 2010 +1000

    Purge screen coordinate storage.
    
    Input drivers monitoring screens doesn't work out well, all we need to do is
    use xrandr to change the screens and our driver deals with wrong
    information.
    
    Note that this patch breaks KeepShape (if it worked before), shape
    proportions should be exported as a property and be controlled by the
    client instead.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8713147d76e225d28eef941b332ef64baa3f770c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 24 15:19:20 2010 +1000

    Remove numScreens field.
    
    Most setups these days only have one ScreenRec, RandR outputs don't show up
    as ScreenRecs.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2ab868bd9b03aa52ccd31227cd27729d56de3072
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 24 15:17:05 2010 +1000

    Remove currentScreen, it's write-only now.
    
    With the recent multi-monitor removal, this field wasn't used anymore.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4ffd3c64ca29a637bf1d2c69b11e360e8d8a82f5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 24 15:02:15 2010 +1000

    Purge ScreenNo handling.
    
    The definition of ScreenNo isn't clear, given that we have RandR screens,
    ScreenRecs and protocol screens, not all of which overlap totally. Let the
    mapping of the tablet to a given area on the available desktop be handled by
    a client.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 910dc6378c5e1883145a93ce15d92efa91d8fa79
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 24 14:56:07 2010 +1000

    Remove display toggle switch.
    
    Which display do you want to toggle in between? The ScreenRecs or the RandR
    outputs?
    
    Let's not have any multi-monitor handling in the driver, push it to the
    clients to handle this.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 72628cf965203eb2c625bf62b3f2c2324ba1fbeb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 24 14:47:05 2010 +1000

    Purge MMonitor option.
    
    Use the coordinate transformation matrix instead, see xserver
    commit 6cccf0131c8464d8838cae2200730873d7dd9e45
    Author: Peter Korsgaard <peter.korsgaard@barco.com>
    Date:   Tue May 25 11:03:28 2010 +0200
    
        dix: add 3x3 transformation matrix xinput property for multi-head
        handling
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d678efb371ead5421031e32e590ef6f796e664a4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 25 15:31:58 2010 +1000

    Print the type_name for debug messages.
    
    Instead of a quadruple-nested ternery operator, just print the type_name.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit d528d6e9fd9120cf16b8290aa545ff0b3bdf4c5e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 25 15:25:18 2010 +1000

    Print debug level for DBG statement.
    
    Seeing which message is printed for which level makes it a lot easier
    to pick a debug level to narrow down on the data that's interesting.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 6d162d220fd162084e7f8d9ee9abde509d71cdd1
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Nov 23 15:11:12 2010 -0600

    Use single filter routine for all tools.
    
    Combining filter routines to reduce upkeep and
    keep all step step of filtering aligned.
    
    There are two steps in filtering. 1) Storing filter and
    2) filtering samples.
    
    Stage #1 is storing X/Y and optionally storing
    tiltX/tiltY based on HANDLE_TILT().
    
    Stage #2 is filtering value.  It uses device specific
    callbacks to filter.  There are 2 ways currently.
    Both ways filter X/Y use same math but second also
    filters tiltX/tiltY.
    
    It seems reasonable to do tiltX/tiltY filtering
    decision at runtime using HANDLE_TILT() to align
    both steps and reduce duplication.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3a3f94c2be798634629e92b3f4d14cdde445aafb
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Nov 23 15:11:11 2010 -0600

    Make npoints really track samples in filter window.
    
    I assume npoints means number points so align with that.
    Its really only being used as boolean value for init phase
    in todays code but that may change.
    
    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 6fc0cb7415dc09fb96b242c146466a569b505f85
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Nov 23 15:11:10 2010 -0600

    Stop resetting filter window each sample processed.
    
    Up until recent commits there was an if() statement inside
    reset function which prevented window being reset while
    in proximity.  That got removed which caused a bug were
    sample size was always size of 1.
    
    Remove the blind reset call and rely on existing conditional call
    while entering proximity.
    
    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 a3efb69eac1b2c1082304f5d145527cf52495544
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Nov 23 17:30:21 2010 -0800

    Update new device types
    
    Added a few new ones in wcmDeviceTypeKeys
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 038886431562ed5fedc265c4a79b323c11fb329e
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Nov 23 14:29:59 2010 -0800

    Skip area check for pad tool
    
    Since Pad tool does not emit motion events, there is no area defined
    for pad. Skip those steps in commonDispatchDevice.
    
    Signed-off: Ping Cheng <pinglinux@gmail.com>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 23ec620249d6dda5876a7f7404c360124368fbb5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 23 14:07:06 2010 +1000

    Don't allow the deletion of active button action properties.
    
    If a button action property is currently referenced by the driver, refuse
    the deletion of it. Clients must unref the property first before they can
    delete the property.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit a2d4620d6f77f5a1f355656d66a52e58612dd8fe
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Nov 21 18:13:40 2010 -0600

    Revert part of BTN_TOOL_FINGER removal.
    
    It was not allowing BTN_0 or BTN_FORWARD events to be
    processed for any tablet.  Not sure if other negative
    behavior existed.
    
    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 fed765ab1fb90a6c5e48e9a84b787e4e88853f90
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Nov 21 18:13:39 2010 -0600

    Add missing MT Bamboo Touch buttons
    
    Newer MT Bamboo drivers send BTN_LEFT, BTN_RIGHT,
    BTN_FORWARD, and BTN_BACK instead of BTN_0, 1, 2, 3.
    
    BTN_LEFT/RIGHT already were handled for mouse tools.
    
    Add BTN_FORWARD/BACK and treat same as BTN_SIDE/EXTRA
    mouse buttons.  This is good because by default these
    go to buttons 8/9 which some apps treat as forward/back.
    
    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 2a0d650011367e4a5f814bdf936ee533c7a200a2
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Nov 21 18:13:38 2010 -0600

    set npadkeys correctly for touchpads
    
    Its natural for newer touchpads, such as Bamboo Touch,
    to report buttons that overlap with mouse tools.
    
    These will get remapped to pad device based on previous
    patches but button count was not correctly initialed
    to account for this remapping.
    
    Now, make sure minimum nkeypad value is based on
    maximum mouse buttons when it detects supporting
    one or more mouse buttons.
    
    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 a44680f3747a7eb6a884555d96acb830b3427f7d
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Nov 21 18:13:37 2010 -0600

    Set maximum tool button count to correct values
    
    The code to set nbuttons for non-pad buttons was checking
    for a lot of buttons that no current wacom tablets send
    or that is understood by xf86-input-wacom.  Remove that
    dead code.
    
    The remaining logic seem to be trying to detect mouse
    versus other tools (stylus mainly) and set button count
    based on that.
    
    Changed to look for BTN_TOOL_MOUSE to work with wider range
    of tablets without special checks.
    
    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 2a5d1ae65e40590ada78a63ce7794af161203362
Author: David Foley <favux.is@gmail.com>
Date:   Sun Nov 21 20:46:45 2010 -0600

    wcmValidateDevice.c: add 3-new-bambooPT-models
    
    Prevents the Xorg.0.log filling with multiple error lines "No touch device found".
    
    Reported-by: IRIE Shinsuke
    Tested-by: IRIE Shinsuke
    Signed-off-by: David Foley <favux.is@gmail.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 13466334d77bc50986c7392099bd6a8319f72b31
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Nov 22 09:37:12 2010 +1000

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

commit ea47ab69573fd6dbc13e89f6b33c9cac46ce23d0
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sat Nov 20 12:20:44 2010 -0800

    Accidently removed checking type with wcmType[j].type in wcmValidateDevice.c
    
    2 steps forward 1 step back? What a great three-step waltz!
    
    Reported-by: David Foley <favux.is@gmail.com>
    Tested-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    
    Introduced in 4e17f170bc31ed9572be743c6f5d7d705b447c7d.
        "BTN_TOOL_FINGER no longer a valid type for pad tool"
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a9d521802ee56c01362164f57516bfd9d7f0d2c4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 19 10:41:53 2010 +1000

    Fix release script for sourceforge shell service.
    
    sf requires the creation of a shell before any operations, see
    http://sourceforge.net/apps/trac/sourceforge/wiki/Shell%20service
    The shell creation always requires a username, so take that from $USER.
    
    Leave the shell open at the end of the script (i.e. don't forcibly shut it
    down) in case the user needs to go in and do additional changes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ede7e5263dfea48ba9fbf8d225c00c71b601f58d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 19 09:49:15 2010 +1000

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

commit 1397c99713e05f705753b083eb46c7c5e9159524
Author: David Foley <favux.is@gmail.com>
Date:   Wed Nov 10 11:21:58 2010 -0600

    wcmUSB.c: 3-new-bambooPT-models
    
    Adds 3 new Bamboo Pen & Touch models.  Supporting changes to linuxwacom
    wacom_wac.c also needed.
    
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit aff73f14eff3fc314412fb4c4d020c185df92801
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Nov 18 14:33:39 2010 -0800

    Add WCM_PAD as a tablet feature
    
    Not all tablets have tablet buttons. Add WAC_PAD so TabletHasFeature
    can tell us if the tablet has pad tool or not.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cd8259fc1cb3989578f42a5984c6b329acb43760
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Nov 18 14:24:32 2010 -0800

    Change wcmDeviceTypeKeys to usbProbeKeys in wcmUSB.c
    
    A copy and paste error, I guess.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1bfe863e1abb1bb731edce375ade675d484e5d65
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 19 08:44:46 2010 +1000

    xsetwacom: rename ClickForce to Threshold.
    
    Click force is a normalised scale from 0 - 21 for the pressure threshold. If
    we want to expose this, let the client UI's do this in their respective
    interfaces, not in xsetwacom.
    
    Rename to Threshold, which is the normalised threshold in a 0-2048 range
    and the data the device actually puts out.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 98e7d4a1c7b1c1c1154a70779c7a02a56f1da367
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Nov 18 13:51:51 2010 -0800

    Remove BTN_TOOL_FINGER from wcmUSB.c
    
    Since it is no longer used for pad, update the comments and code too.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4e17f170bc31ed9572be743c6f5d7d705b447c7d
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Nov 18 11:42:32 2010 -0800

    BTN_TOOL_FINGER no longer a valid type for pad tool
    
    BTN_TOOL_FINGER is used by mouse driver for the first finger.
    Before a new BTN_TOOL_ is added in input.h for pad tool, we
    don't have a BTN_TOOL_. However, we still need to configure
    those tablet buttons and strips/ring. Let's detect the actual
    buttons we are going to receive to determine the existence
    of a pad tool.
    
    BTN_0 and BTN_FORWARD are the two unique BTN_s that we use for
    tablet buttons in the kernel driver.
    
    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 203d66651ef8d231e266e29e337f76a92e8ef7d8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 18 14:58:16 2010 +1000

    xsetwacom: correct default pressure threshold (ClickForce)
    
    Since 659daa11dc558a45bfad1b9548f1757fab226ad7 we normalize the threshold
    into a 0-2048 range. The default is 2048/75, i.e. 27.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c23a3a320120069367e067f11973e9d4bacc3b1b
Author: Ping Cheng <pingc@wacom.com>
Date:   Wed Nov 17 13:48:15 2010 -0800

    Add 5 new devices
    
    Added DTU2231, DTU1631, Intuos4 WL, and Cintiq 21UX2 tablets.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9d47e17623630b5d53b3b131440f2065fc77eee7
Author: Ping Cheng <pingc@wacom.com>
Date:   Tue Nov 16 13:07:03 2010 -0800

    Do not initialize (x,y) valuators for pad tool
    
    Pad tool does not emit motion events. Leave (x,y) alone. Other
    valuators, even the pressure, may be used by pad to pass raw
    data to clients.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 647355a888507122078a37d075bb106391f69a5b
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Nov 14 11:08:17 2010 -0600

    Ignore return code from filter calls
    
    It does not seem like a good idea to ever discard events
    based on filtering logic.  Filters generally should smooth out
    values and not cause us to discard whole window of samples.
    
    Currently, all filter routines hardcode return to 0 anyways
    and so this dead code only caused some confusion.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 66f8e091932df6fa82df134de8e5550a5ac14823
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Nov 14 11:08:16 2010 -0600

    move storing of raw samples into wcmFilter filer
    
    This helps abstract out filtering better and also allows
    custom behavior on storing of samples as well; such as not
    moving avg window if no X/Y values have changed in current
    event cycle.
    
    Intent of this change is refactor only (no behavior change).
    Most off diff is moving logic over to wcmFilter.c.  There is minor
    flow difference because RawFilter() and wcmCheckSuppress() needs
    to be kept in wcmCommon.c, and so outside logic that stores samples,
    but intent is same results.
    
    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 4080e04ca7535635800deb1af68fab6b37bfa69b
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Nov 14 11:08:15 2010 -0600

    Ignore events that occur while out of proximity.
    
    When out of proximity, changes to values to X/Y/etc are not
    meaningful.  Some non-wacom tablets will send these values while
    out of proximity.
    
    Although we correctly ignore their values elsewhere, its more
    efficient to ignore right away.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 22349586a3579bea0c51a2bb42291fb3d432b0ae
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Nov 14 11:08:14 2010 -0600

    Removed unused filter variables.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 69cd5d502c9879b8db66adabb343a24529879e4c
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Nov 14 11:08:13 2010 -0600

    Reset filter window when entering proximity
    
    Old logic was relying on multiple sync windows occuring while
    out of proximity to reset averaging window; which doesn't always happen.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 08834f051c20b9b794e58a1e2a44d5d7b83ecc68
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Nov 14 11:08:12 2010 -0600

    No need to filter X/Y values when out-of-prox
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9cdb8123a552df881cf8117f6913791e0b586c9f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 11 13:36:14 2010 +1000

    Don't initialize the area property for the pad.
    
    The pad tool doesn't send any pointer events, so we don't really need to
    have a area for it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 9947959a3f224dc927ccf53de975eabdfd74230d
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Thu Nov 4 20:01:41 2010 -0500

    Use self describing logic for generic touchpad btns
    
    Changed logic to dispatch 1 or 2 channels events to be
    based on value of wcmBTNChannel instead of based on protocol
    used.
    
    Although previous logic worked, this way is clearer to reason
    why wcmEvent() needs to be called for 1 or 2 channel's.
    
    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 791de526725abebfa33e1b41097c3e60b500f7f1
Merge: fd61858 c6dcc3a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 4 09:21:53 2010 +1000

    Merge branch 'next'

commit c6dcc3a1f78b6eb2e3d0ac1b7074ec5b94d5c209
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Oct 25 10:40:16 2010 +1000

    Input API 12 requires a valuator mode for each axis.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Chris Bagwell <chris@cnpbagwell.com>

commit ea392a15560e19d28caf082f113e58edb6e56132
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Sep 10 09:39:14 2010 +1000

    Use xf86OptionListDuplicate under input ABI 12.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d086b320fef1bde7db149309a6d77f072f8cbdb1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 2 12:51:05 2010 +1000

    Adjust to new input PreInit from API 12.
    
    New PreInit prototype streamlines the process a bit, leaving most of the
    task up to the server.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fd6185880c0f414971adfd67fb34256f73a82f87
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 3 14:29:58 2010 +1000

    Avoid use of unitinialized variable fakeKey
    
    There's a path in getWheelButtons() where fakeKey is not set. Check for
    that.
    
    Reported-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Acked-by: Jon Neal <reportingsjr@gmail.com>

commit 75bfb52f6c36afe9354061de92538c7966d784b9
Merge: ab71355 09445a0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 29 15:25:26 2010 +1000

    Merge branch 'usb-cleanup'

commit ab71355f6e251833f422cf5c591ed42208cf3f91
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 29 11:43:00 2010 +1000

    Limit debug level max values to 12, not 10.
    
    Let's do what the man page says.
    
    Reported-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit ee470480f986470555dbd7b04c53cbc85f7dc779
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 29 10:43:26 2010 +1000

    Enable debugging by default.
    
    If a distro doesn't want it, they can always disable it. Most of us building
    from source definitely want it enabled.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit cded861562ff05a622609ec76882434940cd5d4f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 29 10:40:32 2010 +1000

    man: reword man page for DebugLevel and CommonDBG
    
    - The log file is not in /etc
    - Don't use "define", it's confusing given that DEBUG must be
      defined to get it.
    - CommonDBG doesn't enable debugging for all devices on the tablet, just for
      common code paths.
    - Note that debugging must be defined for the options to work.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 09445a03c765df0eef1b70e082058b229767e00f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 28 10:51:09 2010 +1000

    usb: split parsing the SYN event into a separate function.
    
    My attention span is too short to handle long functions :)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 0cc05a9f6a437d90451188c35f5b3a7ea41a3bbc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 28 10:52:27 2010 +1000

    usb: Fix a confusing comment
    
    "Fall through to dispatch" is arguably better, because that's what we're
    going to to next and there isn't a guarantee yet that we're actually
    delivering an X event.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 72786ae0c8d6c1ce2c95741f65de5d11763099bb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 28 10:47:10 2010 +1000

    usb: USE_SYN_REPORTS_FLAG is always set these days, purge it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit a5268935f86046cba74631a9e81cdedd9672274a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 28 10:38:36 2010 +1000

    usb: Use ARRAY_SIZE macro instead of manual size calculation.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 9809863d8ee3931395e245e855b97073566fb7e1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 28 10:30:46 2010 +1000

    usb: move private allocation up.
    
    This is the only failure path, might as well get it out of the way quick.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 856b2891c4dd73e60b7ed59b8aa595ab1e32812a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 28 10:08:37 2010 +1000

    usb: Compress USB model definitions.
    
    Use a DEFINE_MODEL macro to de-duplicate the common intializations for the
    WacomModel struct.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 8d69f6ec166e6165652ec2379a6c9405d5607278
Merge: f27cb29 cdfedc9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 28 14:49:03 2010 +1000

    Merge branch 'xsetwacom-buttonmaps'

commit f27cb29c088b4a2cfe5e6c1d4de1f305a0ac5dff
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Oct 24 14:40:18 2010 -0500

    Support tablet buttons without serial #'s.
    
    The core of xf86-input-wacom strictly enforces buttons
    on tools that are out-of-proximity must be cleared except
    for the special case of the PAD device that is always
    considered in proximity.
    
    Generic tablets (non-wacom) and touchpads will send button
    presses associated with tablet itself even if no tools
    are reported as in proximity.
    
    Work around this by forcing all non-styus button presses
    to be routed to hard coded PAD channel and post multiple
    channel events per sync window.  This is for generic
    tablets only and wacom tablets continue to process events
    the same way.
    
    MT packets could be implemented using same concept and
    routing to hard coded channel 0 or 1 based on finger #.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit cdfedc95017c0c80f7b1dc5b4dcbb47863ad66aa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 27 14:20:07 2010 +1000

    xsetwacom: unset special button mappings when switching to simple ones.
    
    After a special button mapping was assigned, allow switching back to a
    simple button mapping.
    The following sequence now works:
        xsetwacom set <device> Button1 key a b c
        xsetwacom set <device> Button1 1
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 86449bee044b4887b1341b3db5e51fb84087de80
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 27 14:10:02 2010 +1000

    xsetwacom: fix an outdated comment, map_button only has two variants.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 345db498a60fd788d7bb4d43a3ce05d3a7706434
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 27 11:16:56 2010 +1000

    xsetwacom: for button mappings with keycodes, print the keysyms
    
    This isn't really accurate as it relies on the current keymap, but then
    again, that's what you get for having keysym handling in the driver...
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 194b76b9ca716f277c5753d159c446e162c90233
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 27 10:56:04 2010 +1000

    xsetwacom: print special button maps.
    
    If a device has something more complex than a simple button mapping for a
    given button, print it.
    Note that this doesn't simplify the mappings, so
        xsetwacom set <device> Button1 "button 1"
    will print as
        ... "button +1 -1"
    instead.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit d95ac5e1789841347b458cf95056033f41ad91a6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 27 10:49:35 2010 +1000

    Deprecate AC_DBLCLICK - use two button clicks in the client instead.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 077d24850fcf36c5a7c56e9a9a56fcc2c4a50a4c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 27 10:06:27 2010 +1000

    Comment AC_CORE as deprecated.
    
    Leave it in for now in case someone relies on it but it'll likely be removed
    in the future. Drivers don't decide on whether to send core events since
    1.7.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 09862c15874162c56e7d310f9e5385a76eb616a2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 27 09:20:54 2010 +1000

    xsetwacom: Extra tracing for button maps.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 2a050b9798dec401311dc8758c903ed6175e07c2
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Oct 24 14:40:17 2010 -0500

    Only call wcmEvent() if valid event received.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 972c3cd6dc580b97565c51cb4260128cc8095c94
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Oct 24 14:40:16 2010 -0500

    Increase MAX_CHANNELS to 3 to handle Bamboo's max.
    
    This must have been missed during merge of Bamboo and gestures.
    It requires 3 channels to track 1st finger, 2nd finger, and pad
    device.  Gestures will not work correctly without this.
    
    BTW: This means Intous1 and Intous2 devices can now have 3
    tools in proximity at once to match max on kernel side.
    I assme this works fine since linuxwacom xdrv has increased to 3 as well
    but I'm unable to test on that device.
    
    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 d4c0c4a1602fa652a10f96e47776a6c0689a6bf9
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Oct 24 14:40:15 2010 -0500

    document special logic done while going in-prox
    
    There is an implied agreement between kernel drivers and
    user land to work around event filtering issues.  Document
    our current approach since it seems not so obvious the
    importance of a memset().
    
    Our current approach works great with wacom tablets but
    has some issues with non-wacom tablets.  List some TODO's
    to aid those developers in the future.
    
    Also, forcing in proximity handles a few corner cases fine for
    all wacom devices but document the preferred approach for
    possible future patch.
    
    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 95c8d204070a7e88e71f49542c64047ffd5061d2
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Oct 24 14:40:14 2010 -0500

    Centralize validating of event queue sizes.
    
    Changed !type check to type == EV_SYN to make it clear what its doing.
    
    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 e077311a1678ddcdf6cf50bd4c72a4a11ac7820b
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Oct 24 14:40:13 2010 -0500

    Refactor channel selection logic
    
    usbParseEvent() is for queue'ing up events until a full sync
    window occurs.  It was also selecting a channel related
    to all queued events.
    
    Move channel selection logic to function that processes all events
    (usbParseChannel()) since its more related to that logic than
    to queuing logic.
    
    Also, rename to usbDispatchEvents() since some WCM_PROTOCOL_GENERIC
    devices can send events that need to be placed in multiple channels.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Acked-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f1ecd11c619f1f7eb7850dd2fb514307ca1dd1ce
Author: Jan Steffens <jan.steffens@gmail.com>
Date:   Thu Sep 30 02:40:30 2010 +0200

    Correct TPCButton property inversion
    
    The property had the inverse meaning (TPCButton on actually meant
    it was off). Correct this.
    
    Signed-off-by: Jan Steffens <jan.steffens@gmail.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Tested-by: Jason Alavaliant <alavaliant@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ef7345fb3d0fce48d7968bbdd108755113a24035
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Wed Oct 13 21:15:58 2010 -0500

    Partial support for Bamboo Touch MT-style interface.
    
    Initial changes to support Bamboo Touch input device
    reporting values using a touchpad-like event interface
    and MT events for multitouch.  This change is backwards
    compatible with original "serial #" style multiplexing of
    touch data used by Tablet PC's and Bamboo Touch's.
    
    This change allows a generic touchpad to function with
    xf86-input-wacom; including basic 1 finger gestures such as
    tap-to-click.
    
    Tablet buttons do not work while finger is out-of-proximity.
    They need to be rerouted to always-in-proximity PAD device (last
    channel) to work with current framework.
    
    MT events are not processed yet and its 2nd finger events need to be
    rerouted to channel #2 if wacom gesture logic is to work.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 680b9a9a31c2e2cec994e348402af153bd573be5
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Wed Oct 13 21:15:57 2010 -0500

    Use enums for defining protocol used.
    
    There is possible plans to support at least one more "protocol"
    for sending events from Linux input devices to xf86-input-wacom
    (GENERIC). In preperation for this, switch to enums which allow
    using names to indicate totally unrelated protocols.
    
    Also, add better documentation on what Protocol 4 and Protocol 5
    really means in wcmUSB.c.
    
    This patch shows that usage of wcmProtocolLevel in
    commonDispatchDevice() is questionable (hopefully,
    no protocol specific logic needed in common functions) but
    that is left for another patch set.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bfffbce420afa57ea7135078938904c13ce6c4a8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 13 08:51:12 2010 +1000

    Only initialize CursorProx property for the cursor/puck tool.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 19c24dc4e852bae384f16411d5f59add487be5f0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 8 08:49:22 2010 +1000

    Rework rotation and scaling into tablet areas.
    
    For each event, scale into the the range defined by topX, ..., then rotate
    and invert the axes as required.
    
    Don't mess with the topX, ... properties when rotating, the man page claims
    they apply to the physical topX, ..., regardless of rotation.
    Since we don't modify these anymore, rotateOneTool() is obsolete and
    wcmRotateTablet() a lot simpler (to be removed out in the future).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Jan Steffens <jan.steffens@gmail.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit c505eca885b8b4f1743b158414236034757eac58
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 7 14:45:28 2010 +1000

    Don't change axis ranges after rotation.
    
    Don't change the axis range at runtime, clients cannot cope with that and
    will process data in a wrong manner. Rotation needs to happen inside the
    driver, with the rotated axis ranges being squashed into the respective axis
    ranges announced at startup.
    
    Note: This temporarily breaks tablet rotation until the real scaling has
    been set up.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Jan Steffens <jan.steffens@gmail.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit fdc4e91212d0d0fbd5d93e94b0faa9fc6ee72f44
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 7 14:42:10 2010 +1000

    Don't replace the TopX, etc. options when rotating.
    
    These options should always refer to the physical tablet's coordinates.
    Besides, I don't think anything actually accesses these options after the
    init process.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Jan Steffens <jan.steffens@gmail.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit b05b13fdd9dbda2bf1b5c56e5464c55b2cd93849
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 7 14:36:24 2010 +1000

    Don't reset the axis range when changing the tablet area.
    
    The axis range must not be modified at runtime. XI2 allows for it (we don't
    have the hooks for it in the server though), but changing the axis range
    after a client has started up means the client processes events wrong.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Jan Steffens <jan.steffens@gmail.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 20edad000c0b3ffdeb19494c7a5b888f64fed454
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 8 08:25:53 2010 +1000

    Explain why name must not be moved in the WcmCommonRec/WcmDeviceRec.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Jan Steffens <jan.steffens@gmail.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit f4a46bcd99cdaeddb26c2ec5e07f2f7fd03cce77
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 7 14:32:35 2010 +1000

    Rename wcmRegisterX11Devices to wcmDevInit
    
    The latter didn't do anything but call wcmRegisterX11Devices, so we might as
    well skip this step.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Jan Steffens <jan.steffens@gmail.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit f2588f9ba25f5b86f9fdbc87ef302ef1cb612e72
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 7 15:46:08 2010 +1000

    Silence two compiler warnings.
    
    ../../src/wcmTouchFilter.c: In function 'wcmSendScrollEvent':
    ../../src/wcmTouchFilter.c:299:21: warning: cast from function call of type
    'int' to non-matching type 'double'
    
    ../../src/wcmTouchFilter.c: In function 'wcmFingerZoom':
    ../../src/wcmTouchFilter.c:458:17: warning: cast from function call of type
    'int' to non-matching type 'double'
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Jan Steffens <jan.steffens@gmail.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 78e955996eb01d952acd9212dfcaef6060130877
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 1 11:27:03 2010 +1000

    Purge STopX/SBottomX config values and the screen property.
    
    Input drivers are not in the business of exporting screen coordinates.
    Especially since these are likely to be incorrect in the light of RandR 1.2
    and later.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 2a4447f9d84beac78bc256d436b93a5f8fcc55a7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 27 15:33:02 2010 +1000

    Purge TwinView driver support.
    
    TwinView is a video driver feature that, quite frankly, screws everyone. It
    exposes only a single ScreenRec but we need to pretend we have 2 when it's
    activated. We can't get the dimensions of the screen and rely on the user to
    set it, hoping that everything works in spite of that.
    
    For single ScreenRec setups (including RandR multiscreen), we can use the
    Coordinate Transformation Matrix property to achieve tablet-to-screen
    mappings (see commit 239822f9f4 "xsetwacom: add "MapToOutput" parameters.")
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9ddd9ce76bafd77588de87096c8445fa2719e303
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 8 14:28:41 2010 +1000

    Remove wcmSetScreen(), it's not working.
    
    The current behaviour on a single _protocol_ screen is working fine (this
    includes RandR 1.2 multi-monitor setups).
    
    The behaviour on a multi-ple protocol screen is broken, with the center area
    of the screens being unaccessible. Given two monitors in a left/right
    layout, the pointer will jump half-way through the first screen to the
    center of the right screen and continue from there. The areas marked with x
    in the diagram below are inaccessible.
    
    +-----------+ +-----------+
    |     xxxxxx| |xxxxx      |
    |     xxxxxx| |xxxxx      |
    +-----------+ +-----------+
    
    Remove the wcmSetScreen() call and let the X server handle the screen
    crossing. This isn't quite perfect yet as the pointer gets stuck on the
    rightmost screen but it's better than the current behaviour.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a598ba47028075c0192533e12b825490e361e698
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 7 15:30:58 2010 +1000

    Remove refcnt initialization from InputDriverRec.
    
    Removed from the server with
    commit 6130170e7e9b64c611ee942ec3455dd1a185193d
    Author: Adam Jackson <ajax@redhat.com>
    Date:   Sat Sep 18 06:41:35 2010 -0400
    
        xfree86: Remove unused refcounting from input drivers
    
    And given that it was unused, we don't need to ifdef it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fd3c86ee1e17df2b186aa52977be71772f7f360a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Sep 9 14:58:22 2010 +1000

    Use the device's name directly, not conf_idev.
    
    conf_idev is slated for removal in the server.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 0b9756915d44d9b1f19eb4317533a05295637d52
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Sep 3 16:18:45 2010 +1000

    Don't init close_proc, the server doesn't call it anyway.
    
    Also scheduled for removal.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit a65857d6e30aec1f8a819b60834d14621f67514d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Sep 3 16:16:58 2010 +1000

    Don't init pInfo->atom, the server will init it for us.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 95aea505990716c1b7d635e5d34a86b37832c173
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 1 15:38:10 2010 +1000

    Don't set private_flags if we don't use it.
    
    Scheduled to be removed in the server and neither the server nor we need it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 8674a77acb141c2e861edbacfd527f32c84a28fd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Oct 5 16:04:13 2010 +1000

    man: fix typo in man page "list mods" → "list mod"
    
    Reported-by: Alex Hamon
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8f138922837c89bd0b32df64c69cc4cd75821248
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Mon Sep 6 19:42:31 2010 -0500

    Fix Bamboo touchpad "freeze" issue.
    
    Remove part of code that tried to detect invalid packets coming
    from touchpad because of known issues from filtering of events
    in Bamboo Touch drivers that do not use MT kernel interface.
    
    The size BAMBOO_TOUCH_JUMPED is to small and can hit logic
    during normal finger movements.  To end user it will look like
    touchpad freezes until they remove their finger.  This freeze
    has been reported by at least a couple of end users to mailing
    list.
    
    This is REALY noticable issue when working with MT version of
    Bamboo driver because its scalled up the reported X/Y values
    and ANY movement will exceed BAMBOO_TOUCH_JUMPED.  Unless code
    is removed, Bamboo Touch MT can not work with xf86-input-wacom.
    
    Removed code instead of trying to fix it because it can't be fixed
    without also breaking gesture logic and the new MT driver solves root
    issue.
    
    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 0f409708e745eb20d753ee6e3f18186c9c06d627
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Mon Sep 6 19:42:29 2010 -0500

    Allow valid case of 2 events per sync windows
    
    The check to find event sync windows with to little information
    was to agressive.  For example, if only pressure is changing
    then only two events will be sent: ABS_PRESSURE and EV_SYN.
    
    The previous logic would discard in this case.  This is also
    in preparation for simplier tools which do not report serial
    numbers and in general will send small total events per
    sync window.
    
    Also, fixed comment since MSC_SERIAL events are not strictly
    required.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1b9a7c2823080d59c7bc8749aa2d52e5722d8773
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Mon Sep 6 19:42:28 2010 -0500

    Refactor usbParseChannel.
    
    The function was getting to long and mixing both event
    processing and device_type validataion.  Now, usbParseChannel()
    is mostly about device_type validation.
    
    The intent is no change in logic.  Switch to case statements
    instead of if()'s from precieved increase of readability.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c0f7b2e7f1ed6601392c39c0eda3c4c96326c86a
Author: Nikolai Kondrashov <spbnick@gmail.com>
Date:   Sun Sep 26 18:14:06 2010 +0400

    Add isdv4-serial-debugger to tools/.gitignore
    
    Add isdv4-serial-debugger to tools/.gitignore to avoid git messages about
    untracked files.
    
    Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b2aae07353d55eb5f8cdee3ff74f9f253a1b83ed
Author: Xing Wei <weixing@hanwang.com.cn>
Date:   Sun Sep 26 21:22:45 2010 +0800

    make hanwang tablet handled by xf86-input-wacom
    
    Add support for hanwang tablet in the file .conf.
    
    Signed-off-by: Xing Wei <weixing@hanwang.com.cn>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0bd1b1c623866f5757e595f632ecf4fcd01fe127
Author: Nikolai Kondrashov <spbnick@gmail.com>
Date:   Sat Sep 18 15:40:16 2010 +0400

    Add tabstop=8 to vim modelines
    
    Add tabstop=8 to vim modelines in source code files to avoid incorrect
    shifting if the editor has other tabstop setting.
    
    Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c5675de9e4aeb3c4bb65735d1135567046f58ec1
Author: Xing Wei <weixing@hanwang.com.cn>
Date:   Sun Sep 12 16:01:43 2010 +0800

    make hanwang tablet handled by xf86-input-wacom
    
    This trival patch make Hanwang Art Master III tablet handled by xf86-input-wacom driver in the X system.
    
    Signed-off-by: Xing Wei <weixing@hanwang.com.cn>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3a8a601f1b73a7b7d56d2a1635a7522751477fdf
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Tue Sep 7 23:27:26 2010 +0100

    Remove "curve" from debug message - trivial fix
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f968420695d72240ef6cb56febd195f8724b9f6e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Sep 6 13:36:03 2010 +1000

    Allow 0 for TwinView resolution if TwinView is NONE.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 045a4c3635dbcad9bd0a06aff78b0a960e405c95
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 1 13:22:02 2010 +1000

    Remove custom keymap assignment.
    
    Any client that applies keymaps after the device was detected will overwrite
    this custom keymap. This is the case with e.g. GNOME, so going through the
    effort of defining a keymap is short-lived.
    
    If a special keymap is required, the XKB options can be set accordingly
    though they will suffer from the same issue described above.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 2515103d4672c1cdf4c2d0ac6e7a55ab1201da24
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 1 14:15:17 2010 +1000

    Don't set old_x/old_y on init.
    
    These fields are unused and to be removed soon anyway. Don't init them, we
    don't access them at any time.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit ae868c4eecb71b99f2c3f6c54af88ef4e553f391
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Aug 31 11:31:09 2010 +1000

    ISDV4: support FUJ02e7 serial device in isdv4ProbeKeys
    
    Device supports two-fingers.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Tested-by: Jorge Juliá <jjulia@gmail.com>

commit 038087940b764abc4ffc69eafff6b5b2de1ec9af
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Aug 31 11:25:09 2010 +1000

    ISDV4: rework WACf id matching to be more generic.
    
    Preparation work to match other vendors as well.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Tested-by: Jorge Juliá <jjulia@gmail.com>

commit 602c64950c11138b76a3c9b5d1bb14f64a3525ba
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 27 13:42:04 2010 +1000

    Remove unused prop_screen_area property.
    
    prop_screen is the one used for the screen area configuration.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e74d5977127641d4406a9d6f6a8b80feabf4c826
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 27 11:04:44 2010 +1000

    xsetwacom: merge TVResolution into a single command
    
    Instead of TVResolution0 and TVResolution1, merge them into a single 4-value
    command. This saves us from guesswork in xsetwacom where we have to figure
    out what the remaining coordinates may be.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 7ed7906ee51b17cc26e49d34321d77ba96f149dc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 27 10:45:59 2010 +1000

    xsetwacom: set the TVResolution property to some sane values.
    
    When TwinView is changed, init the TVResolution property to some sane
    values. The user can always change them afterwards.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Przemo Firszt <przemo@firszt.eu>

commit 642d2d6dec01ba7b57a10c953368dfb0ffe02596
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 27 13:23:32 2010 +1000

    xsetwacom: fix property offset for TVResolution1
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0cfee57dccaf7e32804341ac87669c78fd3d47f8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 25 15:21:04 2010 +1000

    xsetwacom: add parsing for prop_nextra items in property.
    
    Automatic handling of properties that take several items, eg. TVResolution0
    and TVResolution1.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6eb3084ba5df9c29ec75d58ab328a505b700a021
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 25 14:55:48 2010 +1000

    Remove superfluous checks for TVResolution property values.
    
    A CARD32 is unsigned and cannot be less than 0. Remove the checks and move
    the one leftover check down to the switch statement.

commit d542c1015ab58cc49b933c6b96b9792c85ae308a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 25 14:54:23 2010 +1000

    Fix up value check for TVResolution property.
    
    The properties cannot match up in height _and_ width, only one of the two.
    Which one depends on the TwinView settings.
    
    We also require that at least one resolution matches the screen resolution
    and that neither of the values is larger than the screen resolution for the
    given dimension.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c606980e2a6d65f26d03d3baa26bfbf47a174da7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 18 13:13:51 2010 +1000

    xsetwacom: support aboveof, belowof, leftof, rightof in xsetwacom TwinView.
    
    I don't actually know what this is really supposed to do in the end, the
    driver does the same thing irrespective of whether leftof or rightof is
    specified.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Przemo Firszt <przemo@firszt.eu>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 4307dc3522ce6948cf943d4c5b51d4714a630216
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 18 13:11:18 2010 +1000

    Update a comment in the light of the driver sending keycodes now.
    
    The property values now refer to keycodes, not keysyms.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 71a16329df21bf8451eabb090f2785061cbe2573
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 18 12:51:14 2010 +1000

    xsetwacom: fix up error message for TwinView setting.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 50ac409a986237f5ed1975a9a7ff51cf92143e57
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Aug 17 16:07:03 2010 +1000

    xsetwacom: add super and hyper to modifiers.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Revieved-by: Przemo Firszt <przemo@firszt.eu>

commit 239822f9f4973dc2b3a51fd8af74bfda0349dece
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 9 15:19:19 2010 +1000

    xsetwacom: add "MapToOutput" parameters.
    
    Provides a new xsetwacom parameter to restrict the tablet to a given RandR
    1.2 output. The output has to be active. The command
    
      xsetwacom set <device name> "MapToOutput" VGA1
    
    maps the coordinates of the tablet to the given output. This is a once-off
    effect only. xsetwacom does not track the output for reconfiguration. If the
    output is reconfigured, re-running the command will re-configure the tablet
    with the new configuration. A list of outputs can be obtained with e.g.
    xrandr.
    
    If used together with rotation, the tablet must be rotated before being
    mapped to the output.
    
    Requires the "Coordinate Transformation Matrix" property to be present and
    handled by the X server.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit ba77b532e6c2a0b7b05ab129009c1f614b089c37
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 9 12:14:00 2010 +1000

    xsetwacom: always update the parent property for wheel/strip actions.
    
    With the new support for wheel actions, the actual action would be delayed
    by one invocation, i.e. any action would always reflect the last xsetwacom
    command, not the current one.
    
    Caused by the driver now calls XIGetProperty() during the update but the
    property hasn't actually set the value yet. Hack around this by always
    updating the parent property, triggering a reload of all actions.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e3e122be074df52ce62ed7146410979c5eb03734
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 9 11:38:17 2010 +1000

    Remove unused skeys2 field.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0ff60c02ed5e3e0b16cc3b214e6d81890cc706f7
Merge: 9f5a39c 3299bf3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 9 10:39:04 2010 +1000

    Merge branch 'wheel-keys'

commit 9f5a39c56d0bb7b4372cdf965f83c6b245b0c1ca
Author: David Foley <favux.is@gmail.com>
Date:   Sat Aug 7 13:02:10 2010 -0500

    xsetwacom: add Tab key to special keys
    
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fdc825b8ca6f4e60d964ac567edcbadf13e5e4a4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 6 16:12:25 2010 +1000

    Add a FIXME about the fixed value of naxes.
    
    naxes is always 6 and parts of the code rely on this. Making it less is
    probably alright, more will definitely make the driver do misc things.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 3299bf3b4bde4f605a7ac6e9c632e4b4149af0e4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 6 13:55:54 2010 +1000

    De-duplicate wheel/strip action assignment code.
    
    Use a temporary struct to assign the pointers we need to set based on the
    property and pass that one around. Removes the need for two virtually
    identical functions.
    
    Should probably be fixed with better refacturing, but for now it does the
    job.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1a0ab20624038869b95b0017f71cc5e50507af69
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Aug 6 13:45:31 2010 +1000

    Use ARRAY_SIZE instead of the maxbutton define.

commit eea34fadf7d04eda413b8632503ed0967a111241
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Aug 5 11:13:45 2010 +1000

    xsetwacom: support action mappings for wheels.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b987cb048c8a15488e7e075f9175704efab10e08
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 4 16:20:01 2010 +1000

    xsetwacom: split button property handling from actual property setting.
    
    Preparation work for wheel/strip button/key event parsing.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0827722beb04cb6a073670edd579808f2105c573
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 4 16:07:23 2010 +1000

    Support actions for wheels and strips.
    
    This patch adds key support to wheel and strip events, allowing for e.g.
    xsetwacom set <device> AbsWDn "key a b c"
    
    Requires an update for wheel/strip properties to allow for either 8 or 32
    bit values. 8 bits aren't enough to hold messages of type AC_. Allow for
    either 8 bit integers (normal button assignment) or 32 bit Atoms modeled
    after the same principle as button events.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c47165dcbd9669c3330b37fad9d2b22f57eddc0d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Aug 5 14:03:27 2010 +1000

    Return the key array from getWheelButton().
    
    Instead of just the button, also return a pointer to the array containing
    the actions for wheel and strip events. Then use this array to send action
    events if required. Note that clients cannot set those arrays yet, this
    commit provides no user-visible functionality.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 889f300f534148adb75844ceb35648145d3edcfb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Aug 5 10:20:30 2010 +1000

    Reshuffle struct for wheel/strip key actions.
    
    No-one is currently reading these values, this commit is a noop.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 37307256f3df51bdce3f8ab767a7d730a268cf9f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Aug 5 13:04:54 2010 +1000

    Move property sanity check up.
    
    No real changes, just work to integrate wheel/strip action properties later.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9591a62b5ea395836fa8ba9943b0284edfc5a151
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Aug 5 12:26:13 2010 +1000

    Rename mask to "press" in sendAction.
    
    It's not actually used as a mask here.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 624c1f4b40e54933fc6fadfd59a01974a48ff6b7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Aug 5 12:16:32 2010 +1000

    Split sendAButton button action processing into sendAction.
    
    Signed-off-by:  Peter Hutterer <peter.hutterer@who-t.net>

commit e28ace8578c6749255ca2f06b632884ba3ed9238
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Aug 5 10:42:11 2010 +1000

    Split button action property setting into a separate function.
    
    wcmUpdateButtonKeyActions updates the device's key actions from the given
    property. Work needed for wheel/strip action property support.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit df41ad586a3fb464c58c6b0d09423d12a5b0e5e9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Aug 5 10:31:23 2010 +1000

    Split action property updating into a separate function.
    
    Modularization work for wheel/strip action property support.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit eda27ecc1aba9bdbed11409b07225c69402cfa25
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Aug 5 10:17:09 2010 +1000

    Split property sanity checking into a separate function.
    
    More modularization work for wheel/strip action properties.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 52c63720929e1cae2a74478823abb436a21bb559
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Aug 5 10:13:19 2010 +1000

    Split action property lookup into a separate function.
    
    More modularization work for wheel/strip action properties.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 15a7eecc06072f1c4364c72874695e6d636f4553
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Aug 5 09:43:46 2010 +1000

    Split action property checking into a separate function.
    
    No functional changes, just modularization work.
    Prepration for wheel/strip action properties.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 04f76b16dd6b34c2f9edb60df236c940fb7b5cda
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Aug 5 10:04:55 2010 +1000

    Exit early if the the btnaction wasn't found.
    
    No functional changing, just reduces one shift level by changing code that's.
    
    if (foo) {
       do stuff
    }
    
    to
    if (!foo)
       return
    do stuff
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit aa93e8c6352779b23cb91b4cfbf36fe6b361b018
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 2 12:40:49 2010 +1000

    Rename LocalDevicePtr local to InputInfoPtr pInfo.
    
    The LocalDevicePtr is removed with the upcoming input ABI 12. InputInfoPtr
    has been around for several years so we don't need to safeguard here.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Przemo Firszt <przemo@firszt.eu>
    Tested-by: Thomas Spura <tomspur@fedoraproject.org>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 9a51dd110c72726a5b78265011cb610e7d526074
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 2 13:08:08 2010 +1000

    Remove usage of COREEVENT_FLAG - it's write-only.
    
    No-one seems to care if this is set or not.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 74645df081575eaff7e2ce2c8325df9d47261dfb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 2 12:40:24 2010 +1000

    Remove usage of XI86_CORE_POINTER and XI86_POINTER_CAPABLE..
    
    This flag has been write-only since server 1.4.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit f14e8a710c17b1c15412911bf910e0d318609225
Author: Rafi Rubin <rafi@ugcs.caltech.edu>
Date:   Wed Jul 28 20:04:10 2010 -0400

    Add ntrig vendor and device codes.
    
    Signed-off-by: Rafi Rubin <rafi@ugcs.caltech.edu>
    Tested-by: Thomas Spura <spurath@students.uni-mainz.de>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2a101e07e1c94940b37244bdeccde4673d563d31
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Jul 27 21:07:46 2010 -0700

    Use wcmUSBData to access USB-specific information
    
    We defined it. Let's use it.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 56a2eaeed466145b0f39eb80e7237638bbc8b940
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Jul 27 21:03:57 2010 -0700

    Reset wcmLastToolSerial when tool is leaving
    
    wcmLastToolSerial should not be reset by every event. It is valid
    for the whole life of a tool when it is in-prox.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 92fa84ea9563716d5d3e0a12432416bcb2d62c4f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 28 09:55:44 2010 +1000

    Add a release script for xf86-input-wacom
    
    This is a modified copy of the release.sh script from X.Org's util/modular
    repository.
    
    http://cgit.freedesktop.org/xorg/util/modular/tree/release.sh
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit ed7332094f56b30f1eb3fef4fc50089476b9801f
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Jul 26 23:40:25 2010 -0700

    Purge serial number as an input for usbChooseChannel
    
    Serial number is stored as wcmLastToolSerial in common. No need to
    explicitly introduce it to usbChooseChannel as an input.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cbcd2af677e339de5d925b64b062363ed3aa74e4
Author: Jan Steffens <jan.steffens@gmail.com>
Date:   Mon Jul 19 05:43:51 2010 +0200

    Use IsStylus template
    
    Signed-off-by: Jan Steffens <jan.steffens@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 56d258a8fd70f386d3ff285ae69f10ad4ce7657c
Author: Jan Steffens <jan.steffens@gmail.com>
Date:   Mon Jul 19 05:31:08 2010 +0200

    Eliminate TPCButtonDefault
    
    The code to set TPCButton in wcmUSB.c should be redundant, as it is
    already handled by wcmParseOptions. In that case, we can eliminate the
    TPCButtonDefault member completely.
    
    Signed-off-by: Jan Steffens <jan.steffens@gmail.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7c24037457076446aff7e51c94a52b50d2594238
Author: Jan Steffens <jan.steffens@gmail.com>
Date:   Tue Jul 20 01:19:16 2010 +0200

    Fix CintiqV5 type
    
    The LCD type was overwritten later, in what appears to be an obvious
    bug.
    
    Signed-off-by: Jan Steffens <jan.steffens@gmail.com>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ccea1e7be7daa42464d1aa140fde068ce797a8b0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 26 14:39:29 2010 +1000

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

commit d45d6dbaefe03b466a9a631f400d8e252efbb754
Merge: bcc477d 03a1f3c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 26 14:33:09 2010 +1000

    Merge branch '19200-issues'

commit 03a1f3ccce1abe592665b5dab52a7a6193c035b7
Author: Jan Steffens <jan.steffens@gmail.com>
Date:   Sat Jul 24 03:06:01 2010 +0200

    Create a new function wcmFree to free wacom data
    
    Fix a segfault in wcmPreInit introduced by the previous commit.
    
    Signed-off-by: Jan Steffens <jan.steffens@gmail.com>
    Tested-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2a1b00d8f73c496ee724bc8509047082e055988f
Author: Jan Steffens <jan.steffens@gmail.com>
Date:   Sat Jul 24 02:26:24 2010 +0200

    Do duplicate device detection before wcmOpen
    
    Opening the device using xf86OpenSerial would reset the baudrate,
    so don't do it if we're going to reject the device anyway.
    
    Signed-off-by: Jan Steffens <jan.steffens@gmail.com>
    Tested-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 87f93ada66dcd4e0930927afb50b010436c9c560
Author: Jan Steffens <jan.steffens@gmail.com>
Date:   Mon Jul 26 02:53:52 2010 +0200

    Disallow sending more than one QUERY to the device
    
    This was broken by c771159. Restore the old behavior by introducing
    a second variable.
    
    This unbreaks multiple devices in a non-hotplugging config.
    
    Signed-off-by: Jan Steffens <jan.steffens@gmail.com>
    Tested-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0419aee87127fe7269f5d23af482e99a83c8a50f
Author: Jan Steffens <jan.steffens@gmail.com>
Date:   Wed Jul 21 20:47:44 2010 +0200

    Create a single exit path in isdv4GetRanges
    
    Signed-off-by: Jan Steffens <jan.steffens@gmail.com>
    Tested-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bcc477d08b93b59e93c32940a721ecedfad4cfb6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jul 22 14:49:00 2010 +1000

    Gesture: send ctrl + scroll wheel events instead of +/-.
    
    The number of apps supporting scroll wheel zoom events is higher than the
    ones supporting ctrl +/-. And the ctrl key can be assumed on the same key
    for most keyboards, leaving us with a more stable zoom gesture than the
    previous approach of hardcoding the position of +/-.
    
    Suggested-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 8b2d4ea4718f4cd8750e44cbd4258e936daaeab0
Author: Jan Steffens <jan.steffens@gmail.com>
Date:   Mon Jul 19 06:07:49 2010 +0200

    Swap stylus buttons 2 and 3 for Tablet PCs
    
    There are only a few TPC pens with 2 buttons, and arguably right-click
    is more useful than middle-click.
    
    Signed-off-by: Jan Steffens <jan.steffens@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ef4d20f98e53d181dcdec4cab34dbf391e919586
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jul 15 11:04:53 2010 +1000

    Don't load keysyms into the driver, use keycodes instead.
    
    This addresses a hang in the driver when buttons are configured to send
    keystrokes. The current code calls XkbGetCoreMap() which allocates during
    the signal handler, causing server hangs.
    
    This patch changes the driver to use keycodes instead of keysyms. There are
    a number of reasons for this:
    - XkbCoreMap() only hands us a core keymap, not the XKB one that everyone
      uses these days. There are some differences between the core and the XKB
      map (mainly the use of modifiers), hence we should be focusing on the XKB
      map anyway.
    - Parsing the XKB map manually in the driver is complicated and not
      something we want to do, especially when trying to maintain ABI compat
      with multiple X server versions. On the other hand, the client-side API
      for XKB is frozen like all of Xlib.
    - The driver is not notified of XKB layout changes, thus a cached map would
      potentially be out of date. Moving keysym to keycode conversion to the
      client avoids this.
    - The server does not communicate through keysyms to any client, keycodes
      are the only information. It is up to the client to pick the keysym (and
      glyph) based on the keycode.
    
    Note that this changes the property API. Clients that would write straight
    to a button mapping property will need to change. AFAICT, only xsetwacom
    does this at this point and xsetwacom is updated with this patch.
    
    Note that the current xsetwacom implementation will only focus on level 0
    keys. It will not automatically fill in the modifier states. Thus, to get
    e.g. a string of "aBc", the following configuration is required:
        xsetwacom set "device" "Button1" "key a +shift B -shift c"
    
    xsetwacom releases modifiers at the end of the configuration, thus to get a
    single uppercase letter (or multiple letters), the following is enough:
        xsetwacom set "device" "Button1" "key shift A"
    
    Note: this breaks Ctrl+/- zoom support for keyboard layouts that have +/- on
    a different key than the 'us' keyboard layout. Did I mention that hacking up
    gestures in the driver is a bad idea?
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 0b6096ec3b536bba240539c1a6b3f4cd11ba459c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 19 10:04:25 2010 +1000

    xsetwacom: implement "--list mod" to list specialkeys and modifiers.
    
    Not exactly the same output as the old xsetwacom but it's close enough.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit fa5669719e0fc2a7754015f42a23237dd611d4a9
Author: Jan Steffens <jan.steffens@gmail.com>
Date:   Tue Jul 20 01:23:35 2010 +0200

    Make 19200 the default baud rate for 0x90 TPCs
    
    This implements using 19200 as a default baudrate for some tablets
    instead of always using 38400.
    
    The baudrate switching logic in isdv4GetRanges is extended to be able
    to switch to 38400 as well. It also now outputs a warning.
    
    My WACf004 needs a baudrate of 19200, and is included in the 0x90
    tablet_id. This seemed like the easiest way, but I'm unsure whether
    all 0x90 tablets use 19200.
    
    Signed-off-by: Jan Steffens <jan.steffens@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 864ca6138b46e0db8798cf9f562cfe31db6a6d7d
Author: Jan Steffens <jan.steffens@gmail.com>
Date:   Wed Jul 21 03:28:19 2010 +0200

    Make sure the baudrate is properly set
    
    If the BaudRate option isn't set, X will use the default, which issues2
    9600. Make sure we properly set this option.
    
    Also make sure the it is set properly before we try to query the tablet.
    
    Signed-off-by: Jan Steffens <jan.steffens@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8c13a91089b35f3ec7d36ce5f6bef0928ff2e8be
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sat Jul 17 21:31:06 2010 -0700

    Normalize Airbrush absolute wheel to ArtPen rotation
    
    So they can share the sixth valuator.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6c5a0d71e23c925b2cc0af75e08c8049f6ea7c3f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 19 10:11:38 2010 +1000

    debugger: don't send trace messages to stderr.
    
    Send them to stdout instead, they're already prefixed with ... for grepping
    anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 20daf76d154cc8fb9e095c97824a747e9cb80324
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 20 10:11:26 2010 +1000

    ISDV4: use case range statements instead of nested ifs.
    
    Just to make it a bit easier to read on a glance.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit eb8d83f63f255f27c7116ac3d57e986501bd482d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 19 15:50:02 2010 +1000

    ISDV4: if the BaudRate was autodetected to 19200, replace it in the options.
    
    xf86OpenSerial() uses the BaudRate option to set the serial port. If the
    baud rate was autodetected to 19200, replace this so that the next DEVICE_ON
    call will use the right one.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit de7c2ee2d5411c7394a38d13dea274e6b04e51a0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 19 15:44:45 2010 +1000

    ISDV4: don't overwrite the baud setting for 19200 tablets.
    
    This patch changes isdv4Query to just execute the query passed in and do
    some additional sanity checking. If it fails, return the failure to the
    caller isdv4GetRanges().
    
    isdv4GetRanges() can then change the baud rate and re-query if required. If
    the query at 19200 succeeds, skip the touch query. All touch devices have
    38400.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 764ea40f32827f27112ffa44ca42ab592398faae
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 19 15:44:06 2010 +1000

    ISDV4: document the init process.
    
    List which order the functions are called in to avoid having to re-read the
    code every single time I look at this...
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 49fc694e0d2db4d5ef8d26def9d07c497e1bfb9c
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sat Jul 17 21:31:06 2010 -0700

    Normalize Airbrush absolute wheel to ArtPen rotation
    
    So they can share the sixth valuator.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0c4e029a99292c93db984dd07e604af7b26c881f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 19 10:11:38 2010 +1000

    debugger: don't send trace messages to stderr.
    
    Send them to stdout instead, they're already prefixed with ... for grepping
    anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 999da490cb43f0606a9142f6c97916c8ec088db3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 19 10:00:02 2010 +1000

    xsetwacom: implement "--list mod" to list specialkeys and modifiers.
    
    Not exactly the same output as the old xsetwacom but it's close enough.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6d0b11e16c32c0b7704dbf673d6566b4522be58a
Author: Rumen Zarev <rzarev@math.columbia.edu>
Date:   Sat Jul 3 19:35:56 2010 -0400

    Fix pressure curve size in "xf86WacomDefs.h".
    
    Since the possible levels are 0 to MAX, need to allocate MAX+1 entries.
    Otherwise, when the pressure is at maximum, it reads as some random value
    (one of the control points in this case).
    
    Signed-off-by: Rumen Zarev <rzarev@math.columbia.edu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8f1dd625e00c182ec1b6a92b277214d1b8f88986
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 16 14:27:20 2010 +1000

    configure: use XORG_DRIVER_CHECK_EXT after xorg-server has been found.
    
    Reported by Pablo Castellano, patch modified for current tree. From the
    tracker:
    "It was crashing like this if xserver-xorg-dev wasn't found:
    ./configure: line 11635: syntax error near unexpected token `XINPUT,'
    ./configure: line 11635: `XORG_DRIVER_CHECK_EXT(XINPUT, inputproto)'
    
    Now it's shown a message saying that the dependency is not found,
    which is more intuitive."
    
    https://sourceforge.net/tracker/?func=detail&aid=2960774&group_id=69596&atid=525126
    
    Reported-by: Pablo Castellano <pablog.ubuntu@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fc649a2f7c5ee774974481d9c4ea46460f7a402f
Merge: 00f56ed ef45111
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 14 13:01:10 2010 +1000

    Merge branch 'serial-debugger'

commit ef45111bb2e2cdcfce63172b66fdc20962cfde84
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 13 10:21:38 2010 +1000

    ISDV4: don't set the tablet_id in isdv4InitISDV4.
    
    Since the new init process, the tablet ID is set during isdv4ProbeKeys().
    Hardcoding a tablet_id of 0x90 here overwrites the previously set value.
    Since the tablet_id is used for determining if a device has two-finger touch
    and other features, this loses the ability to perform gestures.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit 00f56eda2c1eca5cfd9aafd5e0483c19c58d8d42
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 12 15:03:12 2010 +1000

    xsetwacom: allow for numeric Rotation value.
    
    Allow for values 0, 1, 2, 3 as rotation setting in addition to NONE, CW, CCW
    and HALF.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 7131fed2580843ea423f406a62282de25e0e2571
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 12 18:41:19 2010 +1000

    Open the device as serial device in PreInit.
    
    A simple open(2) call works fine for USB devices but for serial devices
    the right port parameters need to be set. By luck, sometimes these may
    be correct and the device works, other times it won't, leading to
    unpredictable serial tablet behaviour.
    
    wcmOpen() already does this for us correctly with xf86OpenSerial().
    Re-use it to get the right port parameters. xf86OpenSerial() ignores
    serial parameters for non-serial devices, thus it is safe to use on USB
    devices as well.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit 364d37fd6ed22bd76af8714bcd034ef6a1e08594
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 9 23:01:06 2010 +1000

    ISDV4: after stopping the tablet, discard any data still on the line.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit 3546d8ab1bf8e2a22e285c377df9a363a79b78b0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 6 22:52:11 2010 +1000

    tools: add isdv4-serial-debugger test program.
    
    Simple program to debug the serial output and analyse the behaviour a
    client needs to have to get data off a serial device.
    Run with
      $> isdv4-serial-debugger /dev/ttyS0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit a09bee1d307bf1f91fb637dbd4ee68d801f1cda7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 12 17:26:14 2010 +1000

    ISDV4: move isdv4 parsing header to the include/ folder.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit 6babd5be57adf4f03d870d5bac96ea4397848274
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 9 19:28:28 2010 +1000

    ISDV4: make all parser functions take an unsigned char*.
    
    This currently requires casts in the callers but they can be fixed up
    eventually.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit d2d02d60cb605004e14f53b35864e5d9833b3f29
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 9 19:13:23 2010 +1000

    ISDV4: memdump the data array in case of an error.
    
    Aids debugging.
    The DBG macro isn't suited for this kind of printing, so we need to do
    it manually.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit 75a08052db2afa16550b9c8e65f70d1385f6ebdc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 9 18:51:45 2010 +1000

    ISDV4: print debug messages for query parsing errors.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit 3587a8bac50aaf2c317288be5704cccc53916aad
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 7 23:12:18 2010 +1000

    ISDV4: externalise ID to packet length mapping.
    
    For touch devices, the serial ID corresponds to a packet length. Add
    that to a lookup table (and since the ID's are sequential, just use an
    array).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit 5d1a904ca41a69df60c6ea9b47c72e406787cb6c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 6 22:55:38 2010 +1000

    ISDV4: move ISDV4 parse functions into a separate file.
    
    Make them available for other in-tree tools to.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit e2fcc4440f3d3f5636b33dd005ccaf9358eaa4f2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 12 17:15:18 2010 +1000

    ISDV4: add RESET command.
    
    We don't use it in the driver, but it's there nonetheless.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit ae95888fa9220e0c88e6089065259ea9b783c914
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 6 22:03:20 2010 +1000

    ISDV4: move ISDV4 control commands to header file.
    
    They can be used by the soon-to-come auxiliary program.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit c771159c0bb7c478434745a414ff8cc7c34bcc47
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 2 17:00:20 2010 +1000

    ISDV4: don't start the tablet until the last device is enabled.
    
    Only send one SAMPLING command to the tablet for the last device. If
    sampling is started before the last device was enabled, that device may not
    work.
    
    This is a quickfix, there is bound to be a better way to solve this but
    meanwhile we might as well try to make the tablet work again.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit da95e23c1b0fc548992d49f3da410718ecd0900f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jul 2 16:44:46 2010 +1000

    ISDV4: Calloc, not malloc the private data.
    
    This could explain inconsistent behaviour, intialized was accessed
    uninitialized (oh, the irony!).
    
    For good effort, calloc _and_ initialize "initialized". Two zeros are more
    than one, after all.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit 09f37e253b889ad4a2f0adb690f6323c8a5db24d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 12 11:02:25 2010 +1000

    Squash compiler warning "unused variable priv".
    
    priv is only used if DEBUG is enabled.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6d5a4bea3319901ab872550ddfd703d601b873e9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 5 14:27:36 2010 +1000

    xsetwacom: fix button mapping for button clicks.
    
    Misplaced scanf caused button mappings to always be 0 if no + or - was
    specified or the button number was < 10.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 8d10fa406c5c98e3c34f29a2043cfc3de7b0aa42
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Jul 4 09:46:51 2010 -0400

    config: check for an xserver >= 1.7.0
    
    The support statement is for server versions 1.7 and above.
    Builders save time when a problem is detected early.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2acb91f0292ac07cf1c89d7264a1f02b618a4b70
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Thu Jul 1 20:54:23 2010 -0400

    config: add comment regarding MAN_SUBSTS variable usage
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e7bbe77a021a379756957fdb8d722092826e365e
Merge: b97a670 ef82a62
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 24 15:21:43 2010 +1000

    Merge branch 'serial-rework' of git://people.freedesktop.org/~whot/xf86-input-wacom
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit b97a670276ac4d2675af1c5b90abcd8809b1817a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 22 12:54:46 2010 +1000

    Debug message format - remove line break.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 23698917748419185217cf891b6aef03dedab093
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 24 13:55:20 2010 +1000

    Fix build error against current master - ScreenRec has changed.
    
    dixScreenOrigins was removed in xserver commit
    commit a83cff9f4d622b069c96a68b4e87a669bf1f6446
    Author:     Jamey Sharp <jamey@minilop.net>
    AuthorDate: Sun May 23 10:11:47 2010 -0700
    
        Move each screen's x/y origin into ScreenRec.
    
    the x/y fields were moved into the ScreenRec. The ABI  wasn't bumped (thanks
    guys, ...) , so we have to resort to this ifdef check. This leaves us with
    unbisectable state between a83cff9f and 1.8.99.901 (83 commits) where the
    patch has to be manually applied. Sorry.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit ef82a62b771a0465afcec65cba156b38cc3539bc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 22 12:06:15 2010 +1000

    Move ProbeKeys() into the respective backends.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5664bc804f65fb06afcc26da8887211e136ec81a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 22 12:03:24 2010 +1000

    Move device class detection up.
    
    This is one of the first things we need to know about our device.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fa4462582418582fcfaae758db723b98a4965fc0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 22 11:54:24 2010 +1000

    Return the shared common struct from wcmMatchDevice.
    
    This reduces the need for variable juggling in the caller and the caller
    knowing about what happens in wcmMatchDevice().
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 34a0af1f085a99300a944716eb17552bccf9095a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 22 11:48:16 2010 +1000

    Avoid "common" juggling to prevent future errors.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d8154ed5711d8df109abbc2c281cf81d1b032fda
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 22 11:45:01 2010 +1000

    Remove superflouous linebreak in DBG message.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 95c5777f87db35ad0191af9139e3a1daca7eb0d3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 22 11:40:34 2010 +1000

    Remove wcmAutoProbeDevice - it's not doing anything anyway.
    
    Call wcmEventAutoDevProbe() directly. The latter returns the path to the
    device file and we can use that
    
    At the time wcmAutoProbeDevice is called, the common pointer is the generic
    one allocated during wcmAllocate. Hence, there's no way it can compare
    itself with any of the other devices anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4131383c9ca618c3a25592dea6bff97de43f11df
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 22 11:36:48 2010 +1000

    Remove AUTODEV_FLAG - was only set, not read.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 19e0951239f9a24c60469bf1bf7f872358bd4e78
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 21 16:19:02 2010 +1000

    Only execute GetRanges() once for ISDV4 devices.
    
    ISDV4 tablets don't seem to like multiple query commands in a row, the reply
    for those are garbage. Hence, put a barrier in to prevent this. Since the
    isdv4data is shared between all devices off the same port, this simply skips
    the work of the isdv4GetRanges() and returns early with success.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cc4aa77eddbbe02ab7c9263dfd75ecf45f89fb96
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 17 16:06:47 2010 +1000

    Move baud rate into ISDV4-specific backend.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 69d53ac51115af9f34a48451e13b717e48c06079
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 17 15:40:20 2010 +1000

    Move class-specific option parsing into the device classes.
    
    This is only the BaudRate for ISDV4 devices but nonetheless, it's nicer
    abstracted this way.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3ecabe9bd95b666fdd2a913ef1623751263e221d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 17 15:32:37 2010 +1000

    Purge ForceDevice option - unneeded.
    
    We're smart enough to detect if the device is running off a serial port or
    off a USB port. The only thing we did with the ForceDevice option was to set
    it once (based on a serial ioctl) and then check for it later during the
    BaudRate xorg.conf option parsing.
    
    Get rid of the field, parse the BaudRate for all devices even though we
    don't actually care about it in the USB code. So setting an invalid baud
    rate for a USB device will fail the device init but then again - don't do
    that.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit aa382e6c8818e97538b2dad5d9b121a9cb533ed7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 17 15:22:50 2010 +1000

    Factor out device class detection.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4e363076599b038ad032805f2a3023dd9f46826b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 17 15:16:28 2010 +1000

    Remove serial class detection into the serial code.
    
    Both ISDV4 and USB have their model class with a Detect() function. Use it,
    instead of having parts of the serial code in wcmConfig.c.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b5c27a694278641a0507e8d8cf883f02bdf69a49
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 16 17:00:42 2010 +1000

    Split model probing, DEVICE_INIT and DEVICE_OPEN into separate functions.
    
    Probe for the model during PreInit and get the important bits off the device
    here.
    During DEVICE_INIT, just register the X server bits required for the device
    to be a device.
    DEVICE_OPEN actually opens the device, but by then we already know
    everything about it anyway.
    
    A large hunk of this patch is just whitespace change due to a indentation
    level change in wcmRegisterX11Devices.
    
    This also removes the need for wcmDevOpenCount and wcmInitKeyClassCount.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d3e71615529aaa843b8005ab3b04fdf425a26f64
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 16 16:47:02 2010 +1000

    Move the EVIOCGRAB to the model-specific Start().
    
    Don't grab until the device is being enabled. This is a preparation work for
    the DEVICE_INIT, DEVICE_ON split.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit abd3dc68c8d4008b80eb1f71aa9af8275c17a3d9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 21 14:57:12 2010 +1000

    Implement basic refcounting for the common struct.
    
    Introduce three new functions to create a new common struct and add/remove
    references to it. This fixes the occasional ABORT caused by double-freeing
    the common struct.
    
    A better approach for this may be talloc(3), but for now this will do.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 15abfc592377ad444edfae6f4ddd90f0fa7ecafc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 16 16:16:29 2010 +1000

    Remove superfluous fd check.
    
    wcmOpen() has no path where it can return Success and the fd is -1.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b49bd935c0be4cb0e4b5976093eabf6c5b77bdef
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 16 16:15:06 2010 +1000

    Don't auto-probe the device on DEVICE_OPEN.
    
    Autoprobing happens during PreInit already, probing again during DEVICE_OPEN
    (when the device is enabled) is superfluous. If you need this for
    hotplugging, use hotplugging instead.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ee7b2142d83d02b0c3d99748957e9be3bf44f409
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 17 16:00:17 2010 +1000

    usb: plug memory leak - backend storage only needs allocation once.
    
    usbWcmInit is called for each tool, only allocate the event data store once.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fc9b60c6926f887a5b341927e70502addabcb126
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 17 16:36:13 2010 +1000

    Remove stray misplaced comment.
    
    Looks a bit lost there, let's send it home to papa.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 14c4f5044e0e49bbce39796e255045c35ac816a0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 22 08:14:34 2010 +1000

    Rename common->wcmDevice to common->device_path.
    
    common->wcmDevice stores the device path.
    common->wcmDevices stores the WacomDevicePtrs.
    
    This is slightly confusing in the code, rename wcmDevice to point
    "device_path" instead. That's slightly less ambiguous.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d284a2a884ff44ab49819215d0b163ed09481667
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 22 08:04:53 2010 +1000

    Reassign common after wcmMatchDevice().
    
    wcmMatchDevice() may modify "common" if it finds another tablet hanging off
    the same port. If that's the case, "common" is freed and points to an
    invalid area. Move this assignment down to after wcmMatchDevice().
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e11332120daa1e04be5b5321cbdf4bac7fbdde1c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 22 10:02:16 2010 +1000

    Add some vim tags to the header file.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3770aaf4a4b91454e9c6894e240583dace2afbbc
Author: David Foley <favux.is@gmail.com>
Date:   Mon Jun 21 11:07:11 2010 -0500

    xsetwacom.c: Add BackSpace key to special keys
    
    Signed-off-by: David Foley <favux.is@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 92c8ce2c9baf0a138ca563acc068d6e07a44878f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 21 16:49:17 2010 +1000

    Add missing linebreak in error message.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 75868adf0e83318a13ff2924c338c02bfe6730a0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 21 14:40:08 2010 +1000

    Use Xprintf instead of malloc + strcpy.
    
    Xprintf() is the X server's version of asprintf(3) - the latter isn't
    available on all platforms. We could in theory use asprintf but given that
    there are patches for solaris floating around we might as well not prevent
    those.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 9e15b6273b1d836bacf136d0335cda3c9c5f84b1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 18 16:18:48 2010 +1000

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

commit ef091d0d88df268e387f0bf59590d7c8fc8cc875
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 18 10:04:54 2010 +1000

    Always initialize pressure curve.
    
    Since we always allocate the pressure curve now, make sure it's filled with
    reasonable values if the config doesn't specify otherwise. The default is
    the linear pressure curve.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 94843eb2db5a066f27923ebfeb21646310cf3beb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 18 07:59:11 2010 +1000

    Revert "Silence compiler warning if DEBUG is off."
    
    priv is used again without DEBUG since 55ef4e1ad841dda08161009.
    "Revert "Don't pass the axes around to sendCommon() and friends."
    
    This fixes the following build error with --disable-debug:
    wcmCommon.c: In function ‘sendWheelStripEvents’:
    wcmCommon.c:671: error: ‘priv’ undeclared (first use in this function)
    wcmCommon.c:671: error: (Each undeclared identifier is reported only once
    wcmCommon.c:671: error: for each function it appears in.)
    
    This reverts commit 8f69888a353e75a41abc90e85fba61805b9b97bd.
    
    Conflicts:
    
    	src/wcmCommon.c
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 119fda6af71707495a79d566bce78851ec16a95d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 16 15:30:48 2010 +1000

    Always test if pad proximity events needs to be sent.
    
    Both USB and ISDV4 backends fill in ds->proximity. Hence, if it's set and we
    don't have a previous proximity event, send ProximityIn. Likewise, send
    ProximityOut on the opposite case.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 485b5b6904ca55ab059edd94054b4737bdbbda6e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 16 15:04:21 2010 +1000

    Don't check for dev->proximity, it's always set.
    
    Judging by wcmRegisterX11Devices, we always register a proximity class and
    fail if that fails.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit d446c321e11e5c8984fa94719201aab5f10577e1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 16 14:51:37 2010 +1000

    Don't mangle proximity state for the pad.
    
    When the pad is relative (i.e. always, since we force it to), the first
    value from the abswheel is stored in priv->oldWheel and then subtracted from
    the current state - leading to a v5 of 0. That again leads to a dead wheel,
    since we never get any values but 0 from the wheel.
    The pad provides proximity values anyway, so don't hack around it
    - accept what the hardware says.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 55ef4e1ad841dda08161009c7466afbfd2cd6cf6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 10 16:27:47 2010 +1000

    Revert "Don't pass the axes around to sendCommon() and friends."
    
    This patch (the one reverted hereby) had an interesting side-effect.
    Since the valuators were passed down to the button event, they were included
    in the XI events. Thus any client listening to button events would also
    obtain the current coordinates with that event. Once the valuators weren't
    passed down anymore, there was no way for clients to get the current state
    of the valuators with the event itself, they'd have to listen to motion
    events and interpolate from that the positions during the button event.
    
    Patch reverted, so that button events include the coordinates again.
    
    This reverts commit 579f31c628f0b0036f3c238cc7f32ccfc32adab1.
    
    Conflicts:
    
    	src/wcmCommon.c
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit f0191b406b879a403dfdb831be2a119128a4b580
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 16 14:47:07 2010 +1000

    commonDispatchDevice: return early if no device was found.
    
    This patch has no functional changes, it simply reduces by one indentation
    level. Instead of
    
        if (pDev) {
           <huge amount of code>
        }
    
        return;
    
    It now does:
    
        if (!pDev)
          return;
    
        <huge amount of code>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit f00df659cec57309acc5e6eeafcde2cc09a00f56
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 8 15:50:19 2010 +1000

    Move numScreen initialization into option parsing.
    
    Let's not hide it somewhere else, parse and set all options and defaults in
    one place.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit f1d3c1b1486c99ef64d0a34f354d7f89c3d181c8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 8 14:57:48 2010 +1000

    xsetwacom: support "displaytoggle" as special button event.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit c07573ae8e975185ae8e904402baeda3b9a2926a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 4 13:25:54 2010 +1000

    Don't reconfigure the axes when switching mode.
    
    Run-time axis configuration is not really allowed. The XI2 protocol permits
    it but it's forbidden for XI1 clients since they have no notification
    mechanisms. And we don't have any server APIs for the XI2 stuff yet.
    
    If a client issues ListInputDevices and the driver reconfigures _after_
    that, the client assumes wrong coordinate ranges, causing possible scaling
    issues. The right way to handle axis reconfiguration is to scale _inside_
    the driver only.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit eb07751c929ea458c9512683b8aa890a4c0e4dff
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 11 09:18:59 2010 +1000

    xsetwacom: change storage for getopt_long return value to int.
    
    char is unsigned by default on PPC, so getopt_long's return value of -1 for
    "end of options" isn't interpreted properly and xsetwacom always displays
    the usage() output.
    
    man page for getopt_long says it returns an int anyway, so let's conform to
    the man page.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8f69888a353e75a41abc90e85fba61805b9b97bd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 11 12:37:18 2010 +1000

    Silence compiler warning if DEBUG is off.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ec6866c717c5824c7a6be2da2af59305089b9413
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 8 16:14:56 2010 +1000

    Reshuffle error handling in wcmDevProc.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 1f973e3a630165a76b17463a6925c61aaddd5d7b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 8 16:11:57 2010 +1000

    Update an error message, if the DeviceProc mode is wrong it's not our fault.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit a9e91d5d3e8dad176938449c66351ef141157dd6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 8 16:00:23 2010 +1000

    Update comment describing wcmDevProc.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit ca901f3b3b566c601b07bf7659d708ef02d428c7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 8 15:51:34 2010 +1000

    Reshuffle and group some code to make it easier to understand at a glance.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit f934866ab79570602fae3ebf953b81e3ac15ba86
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 3 16:01:24 2010 +1000

    Remove wcmScaling - it is unused and always 0.
    
    Has been hardcoded to 0 since the fork at least.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 9ae676e4646dc5ec0f3c411c3fe54f9803a28a9a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 3 14:39:30 2010 +1000

    Remove superfluous option setting.
    
    Setting this option after the driver has been initialized has no effect.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit c5a2829459df2d95a60527f1e5af279150a28fd9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 10 09:56:31 2010 +1000

    xsetwacom: support up/down/left/right as special keys.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 522c2ae930ccb046a78cc0c64f73474f283714b4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 8 16:12:35 2010 +1000

    Remove superfluous break.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit f05af0e5a5b8489233df1d43b1485fd8ca484fb3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 8 16:08:08 2010 +1000

    Purge support for X server 1.5 and earlier.
    
    Driver still supports 1.6, 1.7, 1.8 and the upcoming 1.9. That should be
    enough.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit cceb65940448c0c7c780e2314a369261cd767adb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 9 16:04:56 2010 +1000

    Revert "Don't add the OutOfProximity flag to the axis mode."
    
    This reverts commit 060ad78cf464508f1d123c00b7340838a27f19e3.
    Error on my side, this mistake was caused by a bug in the X server code when
    listing XI2 devices.
    
    According to the XI1 protocol spec, the device mode for a ListInputDevices
    request may only be Relative or Absolute, the mode obtained from a
    QueryDeviceState request may be binary OR'd with OutOfProximity. The server
    uses the same field (dev->valuator->mode) to store this information but
    returns only the LSB from ListInputDevices. The XI2 code missed this part,
    returning the mode field as a whole, thus sometimes causing clients to
    misinterpret the mode field.
    
    Conflicts:
    
    	src/xf86Wacom.c
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 8df8899a6b11aa5e85c949a9cb8bb94f8388a8f0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 9 11:44:21 2010 +1000

    Move wheel button initialization into wcmParseOptions.
    
    This isn't strictly correct since it's not an option, but the IsPad() during
    wcmAllocate() doesn't do anything - we only have the required bits set later
    during wcmSetType().
    
    Result was that the pad never had the wheel buttons initialized, leading to
    a broken wheel on Intuos4 series tablets.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 35c5e283d606febfbbfe2270b034e8f5e0827162
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 9 11:05:18 2010 +1000

    Remove two empty lines with whitespaces.
    
    No changes, just a sed -e "s/^ *$//".
    If you're using vim, set c_space_errors=1 in your vimrc to help spot these
    errors.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 83714d87560e70c3fbf3aeb19bf28aae10da79c0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 9 10:47:46 2010 +1000

    Add is_absolute() and set_absolute() utility functions.
    
    And get rid of manual priv->flags handling. Only exception is in the inital
    per-type assignment of the absolute flag, the flag setting is left there so
    the code is more obvious.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 0c2d24d47218368f769355fc49042cbebd40fc57
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 9 10:33:55 2010 +1000

    Remove some superfluous variables.
    
    These ones were always set to whatever the device state (ds) contained.
    Unlike the others (x, y, tx, ty, etc.) they didn't need adjustment on a
    per-type basis.
    
    Drop them to make the code a bit more obvious to read.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 52d95845b0912cc4d72c6abcb99fc4bed82e489e
Merge: fb46bef b42bdad
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 10 15:09:02 2010 +1000

    Merge branch 'pingc'

commit b42bdad2a799f573447ea953b3fa416f979cbe57
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Jun 8 17:50:59 2010 -0700

    Default touch tools to Absolute mode
    
    Touch tools for all LCD devices, not just Tablet PCs, should be
    in Absolute mode by default
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>

commit 96929dbf32d573234d50bfec8c581db8e22e9c88
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Jun 8 17:46:17 2010 -0700

    Retrieve device type from the kernel
    
    If a tool is on an USB tablet before the driver is loaded, the driver
    loses the initial state of the tool since kernel input device driver
    filters repeated events. To initialize the tool with the proper
    device type, we call EVIOCGKEY to retrieve it from the kernel.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>

commit 6fc592969a14fa6fe442567dce8b4676f3a1564d
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Jun 8 16:57:45 2010 -0700

    Add PAD_DEVICE_ID to the device_id switch in commonDispatchDevice
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>

commit d71e81a63bdecd352065654ce885dce777b75619
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Jun 8 16:51:17 2010 -0700

    TabletHasFeature is associated with tablet_type not tablet_id
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>

commit 6f92c53fab330bd1491dba8d8724cff0ee988508
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Jun 8 16:32:45 2010 -0700

    Free toolarea and common->private
    
    Changed the freeing order to free inner items first;
    Free toolarea that is associated with the priv instead of the
    whole arealist that are of the same type;
    Free private of common before we free common.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>

commit fb46bef0b54211be0a0a58a58dc484c33fe815e2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 7 15:05:17 2010 +1000

    Append first type name to device.
    
    Dependent devices get their type append already ("eraser", "cursor", etc.)
    but the first device is unmodified. For consistency and to allow easier
    match rules, append the type to the first device as well.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 86a1ff5ede952228d23502cbee1053956ea88d17
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 8 16:55:16 2010 +1000

    Revert "Append first type name to device."
    
    Sorry, merged the wrong patch. This one leads to segfaults or simple hangs
    when a device is removed or on server shutdown. Only the parent device may
    free it's name, the rest must leave them as-is.
    
    This reverts commit d360214713b54faeba954f1d21d51c3747b466f9.
    
    Reported-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d360214713b54faeba954f1d21d51c3747b466f9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 7 15:05:17 2010 +1000

    Append first type name to device.
    
    Dependent devices get their type append already ("eraser", "cursor", etc.)
    but the first device is unmodified. For consistency and to allow easier
    match rules, append the type to the first device as well.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 034eec8cd606cd38b8774a8f792f8fbebcaa6eff
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Sun Jun 6 09:49:12 2010 +0100

    Plug memory leak - some structures were never freed.
    
    "Common" struct is allocated in wcmAllocate, but it was never freed.
    The same comment applies to priv->tool->arealist and priv->tool.
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>

commit 282f7a33cd5f36753cbbcb3772fae04b049234a5
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Wed May 19 20:10:11 2010 +0100

    Add backend-specific data allocation
    
    The data allocation takes place in usbWcmInit (for usb devices).
    Release of the data is part of wcmUninit (for all devices).
    Structure wcmUSBData is not used yet, but it's required to allocate memory.
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c1567fc48cec0251b61942532c689737c21f5961
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Tue May 18 20:35:53 2010 +0100

    Introduce pointer to backend specific information
    
    This pointer will handle backend specific data that shouldn't be part of
    WacomCommonRec structure (like usb event queue). Pointer will be initialised in
    usbWcmInit/isdv4Init and relased in wcmUninit.
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0862aa3d74378abbf9f23289ab864a4d07305d0d
Merge: 370cd8b 7581a5f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 3 14:02:37 2010 +1000

    Merge branch 'master' of git://people.freedesktop.org/~gnadon/xf86-input-wacom
    
    Conflicts:
    	configure.ac
    	man/Makefile.am

commit 370cd8bcce46a091da2479fdb8171b1b58a8616c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 2 13:45:42 2010 +1000

    Drop pressure back into the state after processing.
    
    In the cleanup in 659daa11dc558a45bfad1b9548f1757fab226ad7 "Normalize
    pressure sensitivity", the line to drop the calculated value back into the
    state got lost.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 28149d660f0b4b7f30da9c2fdfe44442bbb075c0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 2 13:19:47 2010 +1000

    Always allocate pressure curve.
    
    There was only one malloc for it and that was hardcoded. Just add it to the
    struct as-is.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit f4e060d450bddb93a9d0f8c3c00c7309db80c880
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 2 12:05:57 2010 +1000

    man: add myself to Authors.
    
    I think I've done enough work on the driver now to justify this ;)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 312e8565b1d9dff4455a5c92aee8a1242c7b0959
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 2 11:48:46 2010 +1000

    man: explain how the pressure curve works.
    
    Including some mini-formatting to get rid of some excessive space.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 48bbc89e7cc4e263a04287fff68ac109a8727910
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 1 16:13:06 2010 +1000

    xsetwacom: support "modetoggle" keyword.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 20715a4a066435b1d785a5b5df50b96c7bc5dcb5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 1 15:40:45 2010 +1000

    xsetwacom: "core" as keyword is not supported, tell users so.
    
    The driver has no say whether a key is to be sent as core event or not, the
    attachment of the device will decide this (since X server 1.7).
    To let users know that their old configurations may not do the same thing,
    print a notice.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit de4a3690c25b822d0bdc54602befa9a09c2af54b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 1 15:31:07 2010 +1000

    xsetwacom: add Escape key to special characters.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 7aea4b8a96b7562cba828b703d70c288eac29938
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 1 15:27:07 2010 +1000

    xsetwacom: remove "not implemented" labels.
    
    We've implemented/kicked out all parameters that weren't implemented.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 7581a5f62697b8a49cff1d534bc2713f33612e7c
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Jun 1 10:21:45 2010 -0400

    config: comment and layout adjustments
    
    Fix warning for AC_HELP_STRING
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 158edda13853dbd977acce55b173756e12ef4377
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Jun 1 17:47:20 2010 -0400

    config: use automake "dir" pattern for simplification
    
    configdir is where the config file is installed
    dist_config_DATA lists the filename
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit c82218973ab7ab47e11d9ae76a9d5e2a246bf420
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Jun 1 17:40:05 2010 -0400

    config: close a loophole where user input means x server has a feature
    
    If a user provides a path in --with-xorg-conf-dir,
    the configuartion assumes the server does have a config path which may
    not be the case.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit a8d9fb1c59ef2e7ce4bbaaab30b43ca3d00e93de
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Jun 1 09:09:02 2010 -0400

    config: remove check for compiler characteristics
    
    Further analysis shows that these checks suggested by Autotools
    are not relevant to the platforms supported by xorg.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 28a45cd759051ad13bfa5e8c9c13e729472f3e20
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon May 31 16:28:05 2010 -0400

    config: wacom driver requires xextproto and kbdproto
    
    These protocols are required to compile the driver.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 0464db90a874af87d299bb2f0a5b17f337913a34
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon May 31 16:22:30 2010 -0400

    config: wacom depends on RANDR through xf86.h
    
    The xf86.h file contains external declarations specific to RANDR
    If this extension is defined (installed) wacom will not compile
    if randrproto is not installed under the same prefix.
    Because this is an optional extension, XORG_DRIVER_CHECK_EXT
    must be used.
    
    move inputproto check to PKG_CHECK_MODULES:
    The XORG_DRIVER_CHECK_EXT macro conditionally adds inputproto
    to PKG_CHECK_MODULES if this extension is defined in xorg-server.h.
    It allows a module to use ifdef XINPUT if the extension is available.
    In the case of inputproto, it is part of server and always defined.
    In this module, the extension is required and not optional.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 0a4c5228ccb65b672ea96d06d6508da66db902f7
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sat May 29 10:24:41 2010 -0400

    config: xsetwacom: specifying -lm is redundant.
    
    It is added in LIBS by AC_CHECK_LIB
    No need for per target LDFLAGS
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 0d000207e80832a66bc5c30089dfec730adb66d6
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Fri May 28 10:15:50 2010 -0400

    config: remove AC_PROG_CC as it overrides AC_PROG_C_C99
    
    XORG_STRICT_OPTION from XORG_DEFAULT_OPTIONS calls
    AC_PROG_C_C99. This sets gcc with -std=gnu99.
    If AC_PROG_CC macro is called afterwards, it resets CC to gcc.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit f93ad73accf06799ab027d82655677391725dc65
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Fri May 28 10:10:30 2010 -0400

    config: use AC_PROG_INSTALL now supplied by XORG_DEFAULT_OPTIONS
    
    It depends on util-macros 1.8
    The existing statement can now be removed from the configuration file.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 9e24d7c75e4ae0adc5360e75e431faefdeb29f7d
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Fri May 28 10:09:17 2010 -0400

    config: upgrade to util-macros 1.8 for additional man page support
    
    Use MAN_SUBST now supplied in XORG_MANPAGE_SECTIONS
    The value of MAN_SUBST is the same for all X.Org packages.
    
    Use AC_PROG_SED now supplied by XORG_DEFAULT_OPTIONS
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 17016ade9269cdfdd85bd1c4f1b76ca211fd63d3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 1 15:03:58 2010 +1000

    Add a man page for xsetwacom.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 88e9fe19e307b18cac176e7e8815dd5640e9aa8b
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue May 25 20:08:00 2010 -0700

    Add two finger gestures for Bamboo with touch
    
    Both src and tools/include are updated. This "feature" will be removed
    when gesture is supported in X server or in desktop environment.
    
    Peter Hutterer's comment:
    
    "just for the record: I am deeply opposed to implementing gestures in the
    driver. This way every driver needs to cook their own soup, there is hardly
    any possibility to let clients configure the gestures, clients won't know
    when a gesture has been applied or when a gesture should be skipped instead,
    there is virtually no chance of standardization of gestures as all drivers
    will end up using slighlty different parameters, etc. the list is rather long.
    that's also why I kinda pretend that the code doesn't exist and do cursory
    checks only (I can't test it anyway).
    
    having said that, I realise that the lack of gesture support in the server
    is currently blocking any other attempts. So I'll reluctantly keep saying
    yes to this gesture approach, but expect it to be temporary only."
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0aef8254c96a8f299411fd7fc115b8ad694c600e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 24 12:34:41 2010 +1000

    Duplicate the InputAttributes for dependent devices.
    
    This allows for the configuration of dependent devices by creating the
    appropriate match rules. Note that for the input attributes - just as for
    the device name the type is simply appended to the end of the product name.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 63be00c8a4faadd2251b5f695e6b049d70943ae3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jun 1 13:55:17 2010 +1000

    xsetwacom: remove XSCALING parameter.
    
    XSCALING was compile-time defined as either 1 or 0 and a workaround for a
    bug in the X server release 1.4.0 (not 1.4.1) that required special scaling
    handling. It's not needed for xf86-input-wacom.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 49d7635e1905fd33a59581232418a6c7d5edc77f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 31 13:21:44 2010 +1000

    In relative mode, subtract the old pressure value from the new one.
    
    Otherwise the pressure builds up to the maximum and stays there, even when
    the pen is lifted off the tablet. Same goes for tilt, wheel and
    rotation/throttle
    
    https://sourceforge.net/tracker/?func=detail&atid=525124&aid=2996451&group_id=69596
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 579f31c628f0b0036f3c238cc7f32ccfc32adab1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 31 14:41:53 2010 +1000

    Don't pass the axes around to sendCommon() and friends.
    
    The only events generated here are button events, there's no need to send
    the axis values around.
    
    This also fixes a bug where axis values are sent twice to the X server:
    The following call order is possible in wcmSendEvents
    xf86PostMotionEvent(..., axisvalues[])
    -> sendCommonEvents()
        xf86PostButtonEvent(..., axisvalues[])
    
    This is fine for absolute mode but in relative mode this would result in the
    axis values applied twice. By not passing the values down, this bug is
    avoided.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit a36262f30418c5b57d9dd21aafe0b95d81bbf7d7
Merge: 6569c05 8916bf8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 31 10:54:56 2010 +1000

    Merge branch 'waltop'

commit 6569c0577b04c3c8b7ddc737cbc030893fe0fe0e
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue May 25 20:07:59 2010 -0700

    Add a new define (WAC_LCD) for tablet_id
    
    WCM_LCD is added to distingush the tablets that are used as LCD digitizers,
    such as Tablet PC and Cintiq/PL series. They have common features that
    regular tablets may not have.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b19576fc4fa7939bf0774aa8f49a90ebbfe1a6e8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 27 14:13:26 2010 +1000

    xsetwacom: remove unimplemented NumScreens setting.
    
    AFAICT, NumScreens in linuxwacom returns screenInfo.numScreens - the same
    value as reported by ScreenCount(3). If this is 1 and TwinView is enabled,
    this value is hardcoded to 2. This logic can be replicated in the client,
    there's no need to export this from xsetwacom. The driver does not export
    this anymore anyway - was unimplemented since the fork.
    
    Note: the driver does not export this setting as input driver do not hook
    into the RandR notification mechanisms. The input driver thus would not be
    notified when a new screen is plugged in, resulting in stale values being
    stored in the driver.
    
    Note: this logic is incorrect if RandR 1.2 drives multiple screens.
    Although there are two physical screens, there is only one protocol screen.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 8916bf839dff04d1db551ee962ee68608fc42885
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 8 16:10:58 2010 +1000

    Add a whole bunch of Waltop device IDs as "supported".
    
    These are taken from Waltop's driver download page, a bit more info might be
    nice.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2ce763b3299c78f6824ff7ff7c3fc8a26106c597
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 8 15:56:23 2010 +1000

    Add Waltop as recognized vendor ID for autoprobe.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a8e535d4bcb56e20b172c2cb7559b72557f9c88e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 8 15:57:55 2010 +1000

    Incorporate the vendor ID into the model descriptions.
    
    This opens up the way for more vendor IDs to be matched with the right
    options.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 14f64d9837160cd4b0c0d63ed2e05e7babfc2db8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 20 14:54:54 2010 +1000

    xsetwacom: print an error if the property does not exist on the device.
    
    Custom get_funcs that do not have a property name skip this part and go
    straight to the get_func, all others get the property tested.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 3c7af6a1aaab296620b442d93375f02f050e65d9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 24 08:05:37 2010 +1000

    xsetwacom: add a descriptive comment on how xsetwacom works these days.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>

commit 9ab46c7113ecda88bcf40b936b147dbfcd87d996
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 24 08:06:39 2010 +1000

    Fix typo in usage output.  } should be ]
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 44f4b81300b63fb01857197a96993bd85cc873ea
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri May 21 22:10:26 2010 +1000

    Remove libc wrappers.
    
    The X server is just deprecating them from the headers and the wrapping
    never had the desired effect anyway (which was to have alternative
    allocation implementations).
    
    This patch brought to you by sed.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pingc@wacom.com>

commit b3143b525d3e91e616b8b5329966b559f1c24a86
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed May 19 22:42:14 2010 -0700

    Centralize TPCButton/Touch/Gesture initialization
    
    Moved TPCButton initialization from other routines to wcmParseOptions
    of wcmValidateDevice.c. For hotplugged tablets, TPCButton will be
    initialized once since wcmParseOptions will only be called once. For
    tools defined through xorg.conf, we only allow stylus to define this
    option.
    
    Moved wcmTouch inside ISBITSET BTN_TOOL_DOUBLETAP check since only
    the devices that support touch would have this option. Same rule
    applies to wcmGesture. For hotplugged tablets, these two options
    will be initialized once since wcmParseOptions will only be called
    once. For tools defined through xorg.conf, only touch can change
    these options.
    
    If a tool other than touch tries to set those common touch options,
    a warning will be reported and the option will be ignored.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fcd8a63993c0fb81b5c9f6246ebd40105c245cee
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri May 21 22:07:30 2010 +1000

    Revert "Remove now-unused variable oldButton."
    
    I applied Ping's patches out-of-order, this variable is needed for the next
    patch.
    
    This reverts commit dc81246c2ff6d38a09ee438e6c490df5c9b50c1f.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 060ad78cf464508f1d123c00b7340838a27f19e3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 20 16:41:02 2010 +1000

    Don't add the OutOfProximity flag to the axis mode.
    
    The server and many clients tends to check for Absolute and/or Relative, but
    don't use Absolute as a flag. The XI protocol spec only allows for 0 or 1
    (Relative or Absolute), not for an extra flag.
    
    As a result, a device set up with (Absolute|OutOfProximity) will be
    interpreted as Absolute by some clients and relative by others.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit dc81246c2ff6d38a09ee438e6c490df5c9b50c1f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 20 14:36:39 2010 +1000

    Remove now-unused variable oldButton.
    
    Obsolete with 62ae0d30494577b2a9de2d440b0f728e85b13e2a.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 62ae0d30494577b2a9de2d440b0f728e85b13e2a
Author: Ping Cheng <pingc@wacom.com>
Date:   Tue May 18 17:44:05 2010 +1000

    Purge unnecessary option check
    
    xf86SetIntOption will get and set the button value as needed. No need
    to call xf86SetStrOption first.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 80cca0796f727a68e7695d5e82c57167471533a0
Author: Rafi Rubin <rafi@ugcs.caltech.edu>
Date:   Fri May 14 10:07:36 2010 +1000

    conf: force second button on N-Trigs to be right click.
    
    N-Trigs styli only have two buttons, having a middle click is less useful
    than having a right click.
    
    [split out into a separate commit by Peter]
    
    Signed-off-by: Rafi Rubin <rafi@seas.upenn.edu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit aa95e1364cf2fcaba6514f6b10c9f8ee30855c7f
Author: Ping Cheng <pingc@wacom.com>
Date:   Mon May 10 21:18:50 2010 -0700

    xf86-input-wacom: Button 4 and 5 events are only for touch ring
    
    Only absolute wheels on the pad (normally touch rings) can send
    button events. Absolute wheels that are defined for the stylus,
    such as airbrush wheel or ArtPen rotation should only report raw
    data. It would be up to the client/application to translate those
    raw data in a way they like.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ea2769f8efbffffb13d2971a7f829a5590daee6d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 11 08:24:14 2010 +1000

    Revert "Always init wheel buttons to 4/5."
    
    This commit leads to weird button events on tools like the Art Pen.
    http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTil9O7b5Q7k03-zBWS_mSEJ79dDuh0ZqsBhuOI2v%40mail.gmail.com&forum_name=linuxwacom-discuss
    
    This reverts commit 0fbd3e34d792cb17163c1974d7e8ce93c24242a0.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 24caba4577364a6b7fad2eb1a39964598c9e5e01
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Wed May 5 19:34:48 2010 +0100

    Remove redundand MAX_USB_EVENTS definition from xf86Wacom.h
    
    There is no need to define MAX_USB_EVENTS in xf86Wacom.h as that definition is
    not used anywhere in the code.
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 83db7fb4a71c6460ac2aaee3476fb49c36f9cbb6
Author: Rafi Rubin <rafi@ugcs.caltech.edu>
Date:   Tue May 4 12:00:36 2010 +1000

    Adjust N-Trig pattern.
    
    The old pattern is the default name set by hid and along with some other
    changes I added descriptive names for the event devices.  For people using
    the older versions of the kernel driver, they are probably better off just
    using the wacom driver to support both pen and touch.  For the current
    versions of the driver, there isn't much of an advantage to continue using
    wacom for touch, and some distinct advantages to moving to evdev
    (particularly as MT support matures). The wacom driver is still better for
    the pen.
    
    Signed-off-by: Rafi Rubin <rafi@ugcs.caltech.edu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5178eec046e160218df088363394b4b117976725
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 29 14:40:27 2010 +1000

    wcmUSB: add some parentheses where parentheses are due.
    
    No functional change, just improving readability. Let's not have constructs
    like
    
    for (....)
      if (....)
      {
      }
    
    If a block is multi-line, always surround it with parentheses.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pingc@wacom.com>

commit 1d0f629f8f95621f107ff3031b805613447ed275
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sat Apr 24 21:59:54 2010 -0700

    Replace Bamboo touch tablet_id check with tablet_type
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cda653b2690f5ed99ca48fcaf33c24539b5529e3
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sat Apr 24 21:33:59 2010 -0700

    Change WacomModel->name check to WacomModel->tablet_type
    
    tablet_type will be used to decide tablet common options.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit df7f16509194b7c778f2b823fd480043a2dbce86
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sat Apr 24 21:26:02 2010 -0700

    Add tablet_type to WacomModel
    
    tablet_type is introduced to distingush the specific features that a
    group of tablets supported. It will be used to replace the
    wcmModel->name check.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit de3953f34c5da03baee443186c64f852ea675fef
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 26 14:34:49 2010 +1000

    Facture out state resetting from the device state.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pingc@wacom.com>

commit cde6ce3ab13d158b2f7b4d725ae84d36cfc33f02
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 26 11:58:01 2010 +1000

    Fix minor style issue.
    
    No changes, just whitespace fixes to make the else block look more like an
    else block and less like the start of an unrelated one.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pingc@wacom.com>

commit 120ca4e2846c2fcc12f6f67105da5c17886b73f0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 26 11:55:50 2010 +1000

    Use 'buttons' instead of hardcoded 0.
    
    No functional change, it just makes the code more obvious.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pingc@wacom.com>

commit ec90c6d93561f1acbf574b45b75312b1079f2815
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 27 13:51:17 2010 +1000

    conf: add WACf, FUJ02e5 and FUJ02e7 to serial identifers.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pingc@wacom.com>

commit c5543682306775f1ba42e44cd8b3db4eb460f20d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 22 13:20:54 2010 +1000

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

commit 68f30e01567278cb474b9d54bb14ec74766584ab
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 22 14:26:33 2010 +1000

    Fix some indentation in xf86WacomDefs.h.
    
    Every time I look at it this confuses me...
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit ca4f2a860c16f1181cb9e82ad27a5f890f165d4d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 22 13:46:14 2010 +1000

    conf: move 20-wacom.conf to 50-wacom.conf.
    
    alnum sorting with a 2-digit prefix gives us 100 different possibilities for
    distro/driver provided configuration files.
    
    Let's move the config towards the middle to allow for convenient pre- and
    post-placement of other configurations.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b5084f000d05d5f14d3ba272b6b7ac145002b771
Author: Ron Lee <ron@debian.org>
Date:   Sat Apr 17 18:25:47 2010 +0930

    Install 20-wacom.conf to the sysconfigdir variable exported by the server
    
    Don't install the .fdi if we're using the xorg.conf dir.
    
    Based on a patch from Julien Cristau <jcristau@debian.org>,
    based on a patch by Peter Hutterer for xf86-input-synaptics.
    
    Signed-off-by: Ron Lee <ron@debian.org>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9be9ab331210aed2a3045f60d3d8a0d13d9ea0ef
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Thu Apr 15 17:58:07 2010 -0400

    config: fix checking for extensions section
    
    A hidden dependency on statement order was discovered.
    The REQUIRE_MODULES variable was removed but needed.
    Comments added to clarify the situation.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 659daa11dc558a45bfad1b9548f1757fab226ad7
Author: Ping Cheng <pingc@wacom.com>
Date:   Wed Apr 14 21:38:28 2010 -0700

    Normalize pressure sensitivity
    
    Instead of reporting the raw pressure, the normalized pressure from
    0 to FILTER_PRESSURE_RES (which is 2048) is reported. This is mainly
    to deal with the case where heavily used stylus may have a "pre-loaded"
    initial pressure. This patch checks the in-prox pressure and subtract
    it from the raw pressure to prevent a potential left-click before the
    pen touches the tablet.
    
    Left click threshold and pressure curve are updated accordingly.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c853f3230a28c75c06bde20606b37ce28afc356b
Author: Ron <ron@debian.org>
Date:   Fri Apr 16 02:01:03 2010 +0930

    Don't match WALTOP in the wacom.conf just yet
    
    On the advice of Timo about how ready it is right now.
    
    Signed-off-by: Ron Lee <ron@debian.org>

commit d65004559e21150fdc12bf58d03d3ddfe861efd6
Author: Ron <ron@debian.org>
Date:   Thu Apr 15 16:09:21 2010 +0930

    Use 20-wacom.conf instead of 10-
    
    This leaves a bit more space for people to override things if needed.
    
    Signed-off-by: Ron Lee <ron@debian.org>

commit 32ebba3eeb537dc70e1dfa45496bc65e66aeb9a2
Author: Ron <ron@debian.org>
Date:   Thu Apr 15 16:06:44 2010 +0930

    Rename the fdi subdir to conf
    
    Signed-off-by: Ron Lee <ron@debian.org>

commit ff59bc20e8ed549ca7ef17801851777907af79b1
Author: Ron <ron@debian.org>
Date:   Wed Apr 14 22:19:17 2010 +0930

    Add an initial xorg.conf.d snippet for xserver 1.8
    
    Drop this in the fdi subdir for now, just to keep all the config together.
    That dir can be renamed later, as the .fdi will eventually go away anyhow.
    
    Signed-off-by: Ron Lee <ron@debian.org>
    Acked-by: Ping Cheng <pingc@wacom.com>

commit 7813328083de1d6f6d9bd028ff4c18f222e81ff3
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon Apr 12 13:05:49 2010 -0400

    config: comment usage of PKG_CHECK_MODULES
    
    There are two separate targets for which config should not be mixed.
    Follow-up from review.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c36de6947dfb23946926d041aa08d482ffd96a0f
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon Apr 12 13:05:48 2010 -0400

    config: disable inadvertently re-enabled static library creation
    
    AC_DISABLE_STATIC must be places before AC_PROG_LIBTOOL,
    requirement which is not documented in libtool.
    This will prevent the creation of src/.libs/wacom_drv.a
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2795fc26832ee31546216f07ff5f3616cb2dea95
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 8 16:29:17 2010 +1000

    Use SETBIT and CLEARBIT macros to set the tool types.
    
    Macros like this are in common use in the kernel, X server, etc. and are
    slightly more readable than the |= and &= ~ expressions.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pingc@gwacom.com>

commit 42e8b791249b3d5c40d1117696deec8966c2e7e1
Author: Pengcheng Chen - Sun Microsystems - Beijing China <Pengcheng.Chen@Sun.COM>
Date:   Fri Apr 9 09:00:05 2010 +1000

    Remove duplicated definition: ARRAY_SIZE
    
    Signed-off-by: Pengcheng Chen - Sun Microsystems - Beijing China <Pengcheng.Chen@Sun.COM>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5087865cbea0ff16e3edbcc532ed9776434b9e0f
Author: Ping Cheng <pingc@wacom.com>
Date:   Mon Mar 29 10:44:47 2010 -0700

    All user defined types are valid
    
    Since there are types that we can not decide during device initialization
    stage, we allow all types defined in xorg.conf pass wcmIsAValidType check.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d83ad3afe27feb1d055cfeeef448d5045089c6f0
Author: Ping Cheng <pingc@wacom.com>
Date:   Mon Mar 29 10:00:05 2010 -0700

    TPCButton is on by default for ISDV4 devices
    
    The recent updates for ISDV4.c missed this bit.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 037eafa0240b342fd6ab35bd88edab6d2b66c30a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 25 14:46:25 2010 +1000

    xsetwacom: handle special button mappings.
    
    As with keystrokes, this handles usecases like
    "button +5 4 -5" for a button 5 down, button 4 click, button 5 up.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 76544c491821aa5208371324872e7759d7f087b8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 25 14:30:33 2010 +1000

    xsetwacom: refacture button mapping code.
    
    This loses the ability do do "xsetwacom --set Button1 button 5" to make
    Button1 do what button 5 does. Really, just run the command twice...
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 47d00b15a2a1afbff08d2899d2c071fbeff61b33
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 25 13:57:00 2010 +1000

    xsetwacom: rearrange keyword matching for future multi-keyword assignment.
    
    In the future, xsetwacom should support a --set Button1 "key a b c button 1
    key a" mapping. This is the first step towards it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 967f90c75a7ad17c8e26bb89f5b348c43bbd146e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 26 11:18:59 2010 +1000

    xsetwacom: fix strjoinsplit.
    
    silly.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 8a911e348fb17ad40cc0130d4ad4d862d0dd096d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 26 11:21:24 2010 +1000

    xsetwacom: trace the special button key mapping if running verbose.
    
    Output is something like:
    ... Key map 97 ('a') [press,release]
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit eabc771985c88fcf99dbc12d84705cf2faace3da
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 26 11:07:25 2010 +1000

    xsetwacom: fix offset for special key mappings.
    
    offset was always 0 + nitems which wasn't a problem as long as we don't
    support multiple keywords ("key a button 1 key b"). If multiple keywords are
    supported, the offset needs to move to the current, otherwise we overwrite.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 2bc39947855842a04f1e40d8004fe094f44f62ee
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 25 15:07:00 2010 +1000

    Split button action property handling into two static functions.
    
    No code changes, just making the SetProperty handler less of a beast.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 132504227b487a7fdfa6e4e6964f5d7058c0e794
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 25 09:59:56 2010 +1000

    Factor out retrieving the wheel button.
    
    No functional changes, just making code hopefully more readable.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 476b5da0ae5a8fa7c72dc5086f46a28184a0f79f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 24 16:52:08 2010 +1000

    Remove unused wheel key assignment.
    
    keyP isn't actually used anywhere.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 5f4bc4d43bce84dd84192d3cc9fb7a9ad5b1031d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 26 10:52:45 2010 +1000

    Don't allow the pad to be switched to absolute mode.
    
    See 2038ad187823b "Always put the pad in relative mode" for a more detailed
    explanation.
    
    Reported-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 30c8356cb98536e539bbc81e72e3dd7e1e9e255d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 25 11:22:06 2010 +1000

    Fix build error with --enable-debug.
    
    Introduced with 09e01eda07de "Call wcmRotateCoordinates only when we get
    real motion events".
    
    wcmCommon.c: In function ‘wcmSoftOutEvent’:
    wcmCommon.c:1646: error: invalid use of void expression
    
    This patch also changes the message to the usual DBG format (the DBG macro
    will fill in the device name and the function name automatically).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 2038ad187823b770fcb3b5e77dacf4bad27617e6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 25 10:49:02 2010 +1000

    Always put the pad in relative mode.
    
    Fixes Intuos3 scrolling issues.
    
    The pad cannot be in absolute mode as it sends the axis values to the
    server. Since the pad never gets x/y coordinates from the tablet the server
    will fill in the defaults (0/0) for it - even if first_valuator is always >
    1. This results in the pointer being reset to the screen origin each time
    the pad's scroll strip is used.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 09e01eda07decdbd2350fa46aea8c705bbdd968b
Author: Ping Cheng <pingc@wacom.com>
Date:   Wed Mar 24 15:14:01 2010 -0700

    Call wcmRotateCoordinates only when we get real motion events
    
    Out-prox events don't send reliable motion events. So, don't rotate
    those coordinates.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 898caa97dec7af1cae3bf05ae6eb598732aa1141
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Mar 23 22:13:37 2010 -0700

    Add wcmSoftOutEvent and wcmGetPhyDeviceID
    
    wcmSoftOutEvent is used to send an out-prox event for the current invalid tool
    before switching to a new tool.  This routine will be used by new gesture code.
    
    wcmGetPhyDeviceID is called by wcmSoftOutEvent and wcmSetType.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 40f344803460f7f1e5e07a67d4e10e7c6d2fcdc8
Author: Ping Cheng <pingc@wacom.com>
Date:   Tue Mar 23 17:43:53 2010 -0700

    Move BTN_TOOL_TRIPLETAP to the header file
    
    Move BTN_TOOL_TRIPLETAP definition from wcmUSB.c to xf86WacomDefs.h
    since it is also used by wcmValidateDevice.c and wcmISDV4.c
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0bdabe85a09b4c522b4237a0ee95326cbcb23740
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 15:36:24 2010 -0400

    config: layout and comments change.
    
    No functional changes.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 43ee2f9907a82018eff3a7103eed22e0fc01a444
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 15:32:38 2010 -0400

    config: separate sdkdir assignement from distcheck workaround
    
    sdkdir in needed for other purposes.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 0eb3ddb627487bb37be354c2dd943d03525f395e
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 14:57:59 2010 -0400

    config: bump Autoconf version to 2.60
    
    This version matches the content of the configuration as it was before
    this patch series.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 82cb6c9cd5d8e3fb1a9e63aa101699a3d8c97731
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 14:55:45 2010 -0400

    config: AC_OUPUT with parameters is obsolete
    
    Use AC_CONFIG_FILES
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit bf45c3c546bbd672a8b604ed6924b4c862888419
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon Mar 22 19:16:57 2010 -0400

    man: use $(SED) for better portability
    
    $(AM_V_GEN) is for Automake 1.11 silent rule.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 8f28c5640b8e33719b52ae7ae9b6843104cc2032
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 14:52:47 2010 -0400

    config: add portability macros
    
    As suggested by autoscan for this module. These will provide
    default values if none defined on the system.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit d184685aca7fe27a7c5c9403c5a993d761bece35
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 14:51:27 2010 -0400

    config: add libm.a library check used by xsetwacom
    
    As suggested by Autoconf. Checked with SunCC compiler docs.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 1d6d34e905d297f6dbf91f6703f874f16262c233
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 14:45:02 2010 -0400

    config: remove unrequired defines for ISO C90 header files.
    
    Autoconf: This macro is obsolescent, as current systems
    have conforming header files.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit ca2502dc24801d58bb7c9a285a668631df596211
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 14:40:49 2010 -0400

    config: remove unrequired auxiliary config dir
    
    By default, autotools scripts are generated in source dir
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit a2b8b5207909a23550461467ba82f7e68f44b70d
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 14:38:13 2010 -0400

    config: move foreign option to AM_INIT_AUTOMAKE
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit ba708b40fb607ea6defdd55aef29b0837a076fed
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sat Mar 20 14:40:07 2010 -0400

    config: obsolete AC_HELP_STRING is replaced with AS_HELP_STRING
    
    Fix autoconf warning.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit e84d1f61dce03b04a90b3430c3fa1f571f37e0dd
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 14:35:35 2010 -0400

    config: AC_FATAL is obsolete, use m4 ac_fatal
    
    Update util-macros level to 1.4 due to INSTALL file.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit e67658fa5685527d3ec2d0d1863380e37903fe19
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 14:33:25 2010 -0400

    config: obsolete AM_CONFIG_HEADER replaced with AC_CONFIG_HEADERS
    
    Fix autoconf warning
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 1b7dd740d42aaa6559439b26f5ffd6adc94cbb32
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 14:30:41 2010 -0400

    make: rename INCLUDES to AM_CPPFLAGS
    
    Fix autoconf warning, INCLUDES is deprecated.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 47082e462e35a25b1e6413e0347d5fca252f3250
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon Mar 22 18:59:07 2010 -0400

    make: remove unrequired EXTRA_DIST for headers
    
    The automake primary HEADERS distribute headers by default.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit e8b6829c273f44bd871944d1bd5fdaf187c7d4f7
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon Mar 22 18:45:48 2010 -0400

    make: remove unrequired EXTRA_DIST for wacom.fdi
    
    The dist_fdi_DATA statement takes care of distribution.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit f32cd91496a8d7aa3dfee00eb694195a60ae936e
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 14:22:38 2010 -0400

    config: remove unused AH_TOP #include xorg-server.h
    
    It has been included in xf86Wacom.h for over a year.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 8ed7d6955d934d9c0e9b5ee20aa5c61bbbd41f34
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Tue Mar 23 14:21:20 2010 -0400

    remove unused DEBUG Automake conditional
    
    This is not related to AC_DEFINE DEBUG used in C source code.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit 70de32b0454a03eff4881653c5254b4bcddd1336
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sat Mar 20 14:46:28 2010 -0400

    config: remove unused $REQUIRED_MODULES variable
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>

commit e19d72ac82efc83b47b7772aa07c56a683b95ecb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 22 14:17:19 2010 +1000

    man: remove linuxwacom reference, replace with current version instead.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 51bd71db2d6f508489d792ddb16d1bcbe21b41f3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 22 11:56:53 2010 +1000

    ISDV4: unify warning/error messages in the <device name>: <message> format
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 11a9a43f6fb5f01c5b7d3d0df24be4631625decf
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 22 11:42:44 2010 +1000

    ISDV4: replace loop with memset.
    
    If the comment is correct, then it would be a bug in libc. Which would need
    to be investigated but for now I'm giving it the benefit of the doubt and
    claim that memset works equally well.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 62197a303a36a8dbeda69c8867617ce3bfb6380d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 19 14:59:51 2010 +1000

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

commit e4069c2a7b3b74eebe3d8a30e3121f52730320c8
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Thu Mar 18 20:57:54 2010 -0500

    Do not send button presses for touchpads.
    
    Now that we support touchpads (Bamboo P&T), the old logic
    for button presses on touchscreens needs to consider this.
    
    I chose looking at tablet_id instead of ABSOLUTE/RELATIVE setting
    because we would have to do a for() loop to find correct private
    structure for touch device.
    
    Eventually, we will merge over touchscreen gesture support
    from linuxwacom which will centralize all gesture logic
    in either wcmCommon.c or wcmTouchFilter.c.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3055024b89c5b274a6c7d2cf128ec390fe0ffad3
Merge: fb458ca 70e490a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 19 11:36:28 2010 +1000

    Merge branch 'isdv4-cleanup-stage2'
    
    For the patch series merged:
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Tested-by: Timo Aaltonen <tjaalton@ubuntu.com>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fb458cabf07932f7862edbb769f9865ea32e9694
Author: Ping Cheng <pingc@wacom.com>
Date:   Thu Mar 18 14:18:32 2010 -0700

    Change Copyright
    
    Change "Wacom Technology" to "Wacom" to cover all regions
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 246244fc724b4457e0602a494dfe72bfb9fc254e
Author: Ping Cheng <pingc@wacom.com>
Date:   Thu Mar 18 14:13:19 2010 -0700

    use wcmKeys to check tool type
    
    Since wcmKeys can be accessed from usbWcmGetRanges, we retrieve
    the supported tool types instead of product ID for touch devices
    that also report pad data. This change makes the code generic to
    all touch devices that report pad data.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 87f2ff0397223c557650ccb1e0aac4bb497a7a93
Author: Ping Cheng <pingc@wacom.com>
Date:   Thu Mar 18 14:10:46 2010 -0700

    Make keys into wcmKeys
    
    Tool type and other device/tool specific characters can be retrieved
    through the supported events, defined in keys, from the kernel. Make
    this variable an attribute of common so we only need to retrieve it
    once in wcmPreInit.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7a078d10266155f87b32b05803d90c62d65fee73
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 19 08:29:55 2010 +1000

    ISDV4: add missing linebreak after wcmWriteWait error message.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bd1c20ca8f8187b30d70b3310b5b086f6fc124ed
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 18 17:09:05 2010 +1000

    Pressure threshold must be smaller than maxZ, not 21.
    
    21 is a copy-paste error from the ClickForce setting. The default for the
    pressure threshold is maxZ * 3/50 (245 on my tablet), 21 thus isn't quite
    sufficient.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 61392ced1f604d81a6e7d27036784eb19b595313
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 18 10:08:20 2010 +1000

    Fix build error with --enable-debug on.
    
    To reduce the number of ifdefs, a slight reshuffling of the code.
    
    Reported-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 70e490a5e7a16639f4a2c2f98d0b203bc6ddec16
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 18 14:49:20 2010 +1000

    ISDV4: print tablet ID after assigning it.
    
    Bug triaging is easier if the log file contains the tablet ID assigned by
    the driver.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bda0e2263faabac5e13ae9dee968bd67555d8809
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 17 23:26:42 2010 -0400

    ISDV4: Parse touch and coordinate data packets.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c6efe6b87d72448dd7b18bb6f056a064b587bc23
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 17 22:46:42 2010 -0400

    ISDV4: Move some ISDV-specific defines into the new header.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8a497d0c808ab749189501f0f360a1bf56d45770
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 4 10:39:57 2010 +1000

    ISDV4: move parsing code for query and touch query into separate functions.
    
    Instead of having the protocol parsing code directly in the matching functions,
    move it to a separate function and return a struct with the interesting data
    already set. This eases code readability and improves debugging between
    protocol parsing errors and general driver bugs.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 72231173a14c69c30918f57f0b3be66a9bdd20de
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 16 14:16:09 2010 +1000

    xsetwacom: fix wrong option parsing for --display.
    
    Reported-by: Andrew Lofthouse
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6f98912927116fcf0067e30f010778b0e838f268
Merge: 4c2d47d d8d70c1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 16 16:03:32 2010 +1000

    Merge branch 'isdv4-cleanup-stage1'
    
    For the branch merged in:
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>
    Tested-by: Thomas Jaeger <thjaeger@gmail.com>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4c2d47db27f90907301a67c096096a80383e69d7
Author: Ping Cheng <pingc@wacom.com>
Date:   Mon Mar 15 21:14:41 2010 -0700

    nbbuttons should be <= WCM_MAX_BUTTONS
    
    The workaround that supports at least 7 buttons could cause
    nbbuttons larger than WCM_MAX_BUTTONS, the maximum number of
    buttons that is supported by the driver. This patch keeps
    nbbuttons in its range.
    
    This patch also fixes a driver crash issue on ISDV4 with touch
    systems that may be caused by nbbuttons being larger than
    WCM_MAX_BUTTONS. The "may be" is backed up by the following
    testing result:
    
    1.  linuxwacom-0.8.5-11 has the same block of code. However,
    running linuxwacom-0.8.5-11 on the same ISDV4 system (Xorg 1.6.0)
    without this patch doesn't have the issue.
    
    2.  Running xf86-input-wacom without this patch on a pen only
    ISDV4 system doesn't have the issue either (Thomas Jaeger reported
    the same positive testing result too).
    
    So, there must be some other issues behind the crash that we don't
    understand yet.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d8d70c12395f856cffaeee2dfe02a03a028d2f18
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 5 16:10:47 2010 +1000

    ISDV4: move wcmWriteWait and wcmWaitForTablet errors into those functions.
    
    Instead of cluttering up the rest of the code, just complain where it
    happens. This needs a slight change to the two function signatures so we can
    print the device name too.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 120e7514aef71aa6f2c32d0143f8466479ce02e7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 5 16:10:47 2010 +1000

    ISDV4: move stopping the device out to isdv4StopTablet()
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6d7395dceb215a8b14ebdb1b2903115e4e8a48bd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 5 16:05:03 2010 +1000

    ISDV4: use wcmWriteWait for the start/stop commands.
    
    If we already have a wrapper function, we might as well use it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b9317f264230c7aaad909cc83bf6f8d512df22c3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Mar 5 11:59:04 2010 +1000

    ISDV4: Rename the ISDV4-specific defines ISDV4_foo
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit baafd08d3cfbb9dfee2b84cb74ca480d4e5606c7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 10 11:07:18 2010 +1000

    ISDV4: use wcmSkipInvalidateBytes from wcmSerialValidate.
    
    Untangle the double if inside the loop to perform the same functionality:
    first check the header byte and if it has the magic bit set. If not, skip
    along to the next byte that does.
    Then, check that the remaining bytes don't have the magic bit set. If not,
    skip up to the first byte that does have the header bit set.
    
    This patch also changes the function signature so we can print the name of
    the device where it happens.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 523af161bef98745e0d18814c09f0a22e8f2d453
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Mar 10 10:46:53 2010 +1000

    ISDV4: skip bytes until the next HEADER_BIT if necessary.
    
    This is similar to what wcmSerialValidate() does but only does the skipping
    of an already started invalid packet. At this point we don't have the packet
    length defined yet so this is just an early exit path.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b945afc82e83aab24d9d3d3320717e58c23b5c8f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 9 15:13:56 2010 +1000

    Fix invalid buffer handling in isdv4Parse().
    
    Check the first byte of each packet for the bits that define the packet
    length, not just the first byte in the buffer.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 62e14f05308fb0585fed771cc96280aef717bd91
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 4 14:26:31 2010 +1000

    Remove ISDV4-specific code from wcmReadPacket().
    
    The packet length only matters on ISDV4, the code should be in the matching
    part of the source.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 60dd6923f6b2df0d3c995c592b2c672960123fcb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 4 14:15:51 2010 +1000

    Pass the length of the buffer into the parsing code.
    
    Just handing down a data pointer is risky, since we can't do any
    model-specific checking for buffer length in the actual model-specific code.
    So instead, for any buffer size, call the parser. The parser then can return
    0 if the length of the buffer isn't sufficient.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit f979ad42ef7c571d71f2e4dc9fb69042b276e59a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 4 16:16:26 2010 +1000

    Remove a bunch of now unused defines.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 6703e6c60728cc080f6b194bcaa8f03795afab6a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 4 14:07:35 2010 +1000

    Purge Read() abstraction from the device models.
    
    We only support ISDV4 and usb tablets and both use the same read method.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 91d806950738b4cd376066f09836c8fe951249cf
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 4 13:59:54 2010 +1000

    Fix a superfluous linebreak.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Chris Bagwell <chris@cnpbagwell.com>

commit 546a2ee94aee8278dad5c1cdc9babe82caac94ff
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sat Mar 6 20:58:46 2010 -0500

    wcmISDV4.c: error on AMD64: conflicting types for int64_t
    
    The header <linux/serial.h> should come after xf86Wacom.h
    as it did when it was in wmValidateDevice.c
    Problem was introduced by commit 3d5f67417a0939d30a19e581a4f76091cfad4a5d
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bdf6e5239ca4c7e8ab2a9b7c921176473d1e80c2
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Thu Mar 4 19:41:57 2010 -0600

    Fix usbGetRanges() for any load order of touch/pad
    
    For Bamboo P&T devices, both a touch and pad type are
    shared for single input device and can be called in any
    order based on xorg.conf.  And normal HAL order is to
    invoke usbGetRanges() from pad first.
    
    This meant all logic related to IsTouch() was not
    correctly running.  Updated to treat pad type as
    touch in special case of Bamboo P&T.
    
    This is applies to devices that have both BTN_TOOL_FINGER
    and BTN_TOOL_DOUBLETAP which currently is limitted to
    Bamboo touch devices.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by:  Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 83f932844c8f21e6e4d461a1b754256844dd58d7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 1 22:08:48 2010 +1000

    Fix pressure curve application check.
    
    4865c30bf0a22ce4083161b1dd953508189b2091 unified the check for when to init
    the pressure curve. Unfortunately, it didn't actually do so, introducing a
    wrong if condition.
    
    Reported-by: Bryan Hundven <bryanhundven@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d863ffd142919b24bd15fcdde31a9ee19cee39bc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 1 13:45:56 2010 +1000

    static-ify usbWcmInit.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 836d30f6eee0e82b7ef874de0deb491ec0b17645
Merge: 701521e c145742
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 1 09:58:09 2010 +1000

    Merge branch 'init-process-revamp'
    
    For the patch series merged in:
    Tested-by: Chris Bagwell <chris@cnpbagwell.com>
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c1457421d417f496949362f7fd858bae0f0a3bed
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 15:51:56 2010 +1000

    man: update pressure curve documentation.
    
    Setting is only applicable for stylus and eraser.
    
    Reported-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4865c30bf0a22ce4083161b1dd953508189b2091
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 15:48:36 2010 +1000

    Unify the check for application of pressurecurve.
    
    The property code and wcmParseOptions should use the same condition for
    readability. Outcome is the same - the pressure curve is applied only to
    stylus and eraser.
    
    Reported-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 37fa3c2e29a0ca6eadd0e7f054a17bd9c194ad0a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 15:46:19 2010 +1000

    Move the check for pressure curve value sanity into its own function.
    
    Instead of duplicating the check, move into a single function to avoid the
    usual bugs of one occurance getting updated but the others don't, etc.
    
    Reported-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fb4f167c80290dd7be5c0a47f1e649115b157681
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 14:14:46 2010 +1000

    Clear up some ambiguity in the comments for wcmIsDuplicate.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 35b3129889b7b51aae8d0b8dba130dad2a9b6a54
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 14:07:41 2010 +1000

    Refacture wcmMatchDevice to iterate over the devices.
    
    No functional change, it just removes complexity from wcmPreInit into
    wcmMatchDevice to make the former easier to read.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 196cd5033311e9b3d30d121ed1e45046a1a99725
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 14:00:16 2010 +1000

    Purge wcmEraserID - unused.
    
    This field was only ever set, but never read from anywhere. It seems to have
    been removed with commit 088dab520184: Support dual Cintiq with TwinView setup
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cd9793f484c1f70b630a5cad3556c4966f1984ed
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 13:51:24 2010 +1000

    Revamp device PreInit process.
    
    The new init process:
    - allocate the generic struct used by all device types.
    - if no device is given, auto-probe for one (find a wacom device
    in /dev/input/event?
    - open the device file
    - probe the device
    
    The allocation process is different now, the common settings are allocated
    for all devices, type-specific settings are set once some information about
    this device is available.
    
    The auto-dev probe is now invoked for each device that does not have the
    device option set. For this to work, we need the common->wcmDevice to be
    initialized to NULL.  An option "Device" "auto-dev" is _not_ supported, it
    would be interpreted as file path and fail. Something for the future maybe.
    
    Probing could still be improved by getting more information from the device
    now instead of during open. Something else for the future.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0fbd3e34d792cb17163c1974d7e8ce93c24242a0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 13:24:10 2010 +1000

    Always init wheel buttons to 4/5.
    
    Regardless of the type, we can init the wheel buttons since other device
    types don't generate them anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 43ce982801d6d3d84b98a8f5550df900c621b3b5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 25 09:32:17 2010 +1000

    Init the pressurecurve property with the values from the device.
    
    Don't hardcode the defaults into the property code, use the stuff from
    priv->nPressCtrl (the actual device's values) instead.
    
    Reported-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fa2981ff91fe044b780225edcbe29bb63b66a52c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 16:52:09 2010 +1000

    Open the fd only once during PreInit.
    
    Instead of having every function open and close the fd, just open it once
    towards the start of PreInit and then close it at the end again. Anything it
    between can just re-use it.
    
    This reshuffles some of the code in PreInit that was supposedly working when
    "auto-dev" was set. It wasn't, so this just emphasises the brokenness.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3d5f67417a0939d30a19e581a4f76091cfad4a5d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 16:38:24 2010 +1000

    Split wcmDeviceTypeKeys into usb and isdv4 version.
    
    The rest of the driver tries to split USB and ISDV4 interface and specifics
    into the matching source files, let's do the same with the probing.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 211792fede6c5422f7cd767a2356b26dd89ba990
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 16:23:30 2010 +1000

    Rename wcmInit to wcmPreInit.
    
    The hook the server calls is named PreInit, so use the same name to avoid
    potential confusion with what this call actually does. Since we have misc.
    wcmInitializeFoobar as well, wcmPreInit somewhat expresses the intent a bit
    better.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cb3e41b9c7709d1943d1bfebc463fe274eeb1a45
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 16:16:29 2010 +1000

    Untangle triple-nested ternery condition.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 701521e9ce99dc7d0d276291539e2ee2abf8111c
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Feb 23 20:55:38 2010 -0600

    Remove user setting of MaxX/MaxY/MaxZ in xorg.conf.
    
    Any values specified by user in xorg.conf for MaxX/Y/Z
    and the MaxTouch* versions were always being overwritten
    during call to device->GetRanges().
    
    This is a cleanup to remove this broken feature since users
    really should not need to touch this.  Removing is much
    easier then getting user override values to work correctly
    for values that are set so late.
    
    This broken interface was not document to user in wacom man pages
    and users are more interested in BottomX/Y and pressure curves
    then the hopefully rare case of trying to debug new hardware.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by:  Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c5425f05394082798207ae53fe0c4e034e59fffc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 13:56:33 2010 +1000

    man: remove reference to "USB" option.
    
    We don't parse this option anymore, it's implied unless ISDV4 is given.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e07c501eb27357e70af85a930556948d5f1d3ac2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 13:53:21 2010 +1000

    Update comment - wacom tool type property is read-only.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ee4bb8e381bd52ef2cbaa04b57a07d6adfe5a0fa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 24 11:21:14 2010 +1000

    Only init pressure curve property for stylus and eraser.
    
    The mouse doesn't really have a pressure curve. And the pad doesn't either,
    so no need for this property.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ab5672640586ee8b8e92e61b7b0b369768970f92
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 21:24:04 2010 +1000

    Only init strip and wheel buttons for the pad.
    
    AFAICT, there's no pens with scroll strips out there.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 87c1d287b96bf335e16a96ecaf8a91ca085bf738
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 18:01:21 2010 +1000

    Only allow absolute mode for pads.
    
    The driver doesn't really know anymore whether a device is a core device or
    not since it may change at any time after an XIChangeHierarchy() call. Even
    then, a device is never a core device anyway - the master device it is
    attached to is.
    
    This code can't be triggered in server 1.7 or higher anyway, just purge it
    and return an error when trying to set the pad to relative mode.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a3d4c8c5d0fa9eb30f201bd3e85584eb91ff9d98
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 18:03:04 2010 +1000

    Return XI_BadMode instead of BadMatch.
    
    BadMatch may "occur if an XSetDeviceMode request is made specifying a device
    that has no valuators and reports no axes of motion." XSetDeviceMode(3)
    
    This isn't the case for us, it's an invalid mode that has been selected
    here. Return XI_BadMode instead, the server will return this as BadMode as
    of:
        commit 02d1116e7eb84068fa32477f1640d29b0a81b638
        Refs: xorg-server-1.7.99.901-12-g02d1116
        Author:     Peter Hutterer <peter.hutterer@who-t.net>
        AuthorDate: Mon Jan 11 16:35:36 2010 +1000
    
        Xi: assume BadMode for non-BadMatch errors returned from SetDeviceMode.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5a5370eda068e0d5271a61cee29e6c9658e242df
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 17:50:15 2010 +1000

    Remove option replacement on SwitchMode call.
    
    I don't quite know why this is there but it strikes me as really really
    weird and the commit message for this code gives no indication on why it's
    necessary.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 57fdd26c39eefa1c55437e5e1a8d02c51f74d104
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 17:36:35 2010 +1000

    Purge conversion proc and reverse conversion proc.
    
    The field is still there (for ABI reasons) but the server hasn't called
    either of these two since about 1.4 or so.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4a6760f71ca1dd5cd9ab0961c7b3519573dd5de1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 15:54:00 2010 +1000

    Fix labelling in wcmInitialCoordinates.
    
    The axis lable describes the physical axis, not how the axis is currently
    used. Hence, the labelling for x/y on a wacom device is always for an
    absolute axis, even if the usage mode is relative.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d8be906ae0509d8e2af30bcfd8398e656374d022
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 15:51:09 2010 +1000

    Rearrange wcmInitialCoordinates.
    
    Instead of a giant if/else block with essentially the same code, just work
    on both x/y and then just trigger for the right axis. This call isn't that
    expensive and readability trumps here.

commit 521da1f0aa93dc239012149deef235d65b440bcd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 15:42:54 2010 +1000

    Be more explicit about axis check in wcmInitialCoordinates.
    
    Don't treat axis as a boolean variable, treat it as a number of 0 or 1 and
    error out if it is neither.
    Also - typo fix, "axes" is plural.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ba90433d47d42f85cd135242bca9d580d270fd2c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 14:27:38 2010 +1000

    Purge unused fields from WacomModel struct.
    
    The following fields are not actually supported by any model we currently
    support, so the hooks are unused:
    Reset, EnableTilt, EnableSuppress, SetLinkSpeed
    
    since the WacomModel isn't exported ABI, we can just add it again if we ever
    need it in the future.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6cb822b7f7814059dc1302791721d021d843e4c9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 14:24:00 2010 +1000

    Remove obsolete comment.
    
    wcmWait is not an XFrer86 V4 function.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 68111d0bfa5813aae34d49dc894f5abb21fa0dce
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 23 11:16:51 2010 +1000

    man: update man page for ButtonM option.
    
    Notes the usage of the driver-internal button mapping in more detail and
    updates the new default accommodating scroll wheels.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5780e59c43634a1458bb727fd90b63af228edfff
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 19 13:27:32 2010 +1000

    Take scroll buttons into accounts when allocating buttons.
    
    X expects buttons 4-7 to be the scrolling directions, hence if our device
    has more than 3 buttons, we need to add 4 to the actual number of buttons
    reported. If the device has 3 buttons only, use 7 anyway so we can scroll.
    
    This affects the internal default button map as well, physical buttons need
    to be offset by 4 after the first three.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 9f9333c9a14c691cd4d9db483df63c69183c577d
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Tue Feb 23 20:55:39 2010 -0600

    remove unused wcmUserResolv* variables.
    
    Cleanup.  Variables not referenced by any real code.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 00d77e5a913f619a206930009161f0a2da846d92
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:52:53 2010 +1000

    Remove keysym.h include - already included by Xwacom.h
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 0f3e76dc2c62c3befd8f49a0e7498fa9bb183f60
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:52:25 2010 +1000

    Remove unnecessary fcntl.h include.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 102d57d618195cedb9cf90157e05eb282987345f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:50:57 2010 +1000

    Move exevents.h include to the files that need it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 10e98ff6f6841a35ab5a89d2bb3202320e0cb32d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:48:35 2010 +1000

    Remove misc.h include - not needed.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit c5c82b0fb4fdfccdc4a5e57684b9a359c9a488b1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:46:35 2010 +1000

    Remove xisb.h include, use unistd.h instead.
    
    What we really need is usleep() and close(), both in unistd.h.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 49a633ea2913cf3df4c76a75760dc49224dc7818
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:45:33 2010 +1000

    Move xf86_OSproc include to the files that need it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 8464a563ff9733d4c9f157c110328e2022ae4027
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:42:56 2010 +1000

    Move linux/input includes to wcmUSB.c
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 0bb106dd19d3efea6a2bca21569f943a60ba2599
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:34:50 2010 +1000

    Move RESET_RELATIVE into ISDV4 code.
    
    This macro isn't needed anywhere else.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 705b881397589ceae57027e1b0840d25ed44cbac
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:29:12 2010 +1000

    Remove QNX support defines.
    
    I doubt anyone has tested this driver on QNX for a while. Support for QNX
    was removed from the server in July 2008.
    (X server commit 0ff5bc404842f7264a8e77f9e2a0bd8d0b051356)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit f1fb5c2037508fde409fd6f00bfaa62c4eb7cf69
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:27:45 2010 +1000

    Include config.h from wcmTouchFilter.
    
    Not including config.h may lead to quite interesting effects, often on 64
    bit boxes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit d1fdc839fd1a0bbbb70c2063c2bd36f78c5bcf88
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:25:35 2010 +1000

    Declare functions once, then include the header files.
    
    Instead of declaring functions in the C file and externing them from
    wherever they are used, just declare them once in the header file.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit e6d2b3c8a7c09c4258e5d25f11bcca1c8c4d5501
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 22 15:12:40 2010 +1000

    Remove unneeded function declaration.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit 0815cc870bc242756b6b9743d975f3c5dcb9d7e4
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Feb 18 10:54:28 2010 +1000

    Fix copy/paste error in license header referring to LGP instead of GPL.
    
    xf86-input-wacom (and linuxwacom) is licensed under the GPL, not the LGPL as
    the first paragraph of the license blurb states:
    
     * This program 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.
    
    The reference to LGPL to see the details of the license was the result of a
    copy/paste error and has spread through all source files thanks to more
    copy/paste.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cd2ed486b739c1b240a85394e819a93e55cd119c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 17 16:36:26 2010 +1000

    Remove unnecessary static declaration.
    
    This function is defined just three lines down, we don't need a declaration
    for it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 58c9e59b03c7e439b81bb5c05841bbb02883404f
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Feb 14 15:14:46 2010 -0600

    centralize setting default values to single place
    
    Setting relative mode default for bamboo was delayed only
    because common->tablet_id wasn't avaliable early enough.
    Now that its value is around, move setting default values to
    single location.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2805bae9797104b641db32740b5ba41d4642d5c6
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Feb 14 13:43:43 2010 -0600

    Find tablet_id earlier in init sequence.
    
    common->tablet_id is used in wcmInit() to decide things
    like defaulting to relative mode for bamboo P&T's but
    it is not set until after return from first call to
    wcmInit().
    
    Now query and store the tablet_id at same time that we are
    discovering its other features.
    
    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 052efcae93994eb17bbe7532c3bbbfb3443b37ab
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Sat Feb 13 13:15:09 2010 +0000

    Fix typo ; -> , in xsetwacom.c
    
    The typo is in xsetwacom: .prop_offset = 10; should be .prop_offset = 10,
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 12ad08b854b631556171e7a9c1028aa51082f038
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Wed Feb 10 22:31:14 2010 +0000

    Add missing .prop_offset = 10 to SBottomX2 property
    
    Another one attached
    --
    Przemo
    
    From 058aa88f7b320d743f3642b8f543be6736d33192 Mon Sep 17 00:00:00 2001
    From: Przemo Firszt <przemo@firszt.eu>
    Date: Wed, 10 Feb 2010 22:19:41 +0000
    Subject: [PATCH 3/3] Add missing .prop_flag to SBottomY2
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a6620e2c8b04482e52d5674623deac2c00c2e4e2
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Wed Feb 10 22:08:58 2010 +0000

    Add missing .prop_offset = 10 to SBottomX2 property
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a7b543f4fa2c09df52db5c0819ef7684eee9e442
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon Feb 8 20:42:23 2010 -0500

    config: move compiler flags to src/Makefile.am
    
    The -fno-strict-aliasing option was added in CWARNFLAG some times ago. Aside
    from the issue that it isn't a warning flag, being in this macro had the
    side-effect of affected all modules when just a few needed it.
    
    The plan is to transfer this option back to the module that are actually
    using CWARNFLAG. Each module can then decide if they really want it or not.
    This patch is just prep work.
    
    The net change will be that strict aliasing optimization will be performed
    (by default in -O2) and -Wstrict-aliaing=2" will be added to flag suspicious
    code. This has not been submitted for review yet.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2ceff910bfe6d7a8a92ff3d7373e5ff4d0a19105
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sat Jan 23 20:32:04 2010 +1300

    man: remove leftover CVS tag.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit e90cb9a4ebaf68d4b417b71feee0a26d17d12349
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 8 11:35:36 2010 +1000

    xsetwacom: shut up compiler warning.
    
    d cannot be used uninitialized given the code flow, but gcc doesn't know
    that.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit cbc8e88b1440af3f9206797a199374a8c6f991d9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 5 15:58:59 2010 +1000

    Remove a few excessive braces.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 065ba1d4d90e4cbeb38a8475a75217c2081ad0b1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 5 15:52:59 2010 +1000

    Remove a bunch of unused defines.
    
    Looks like they became obsolete with
    b3cba4e3543a98103282ba8fa55bf38012d23d9f.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit cf182bb4c65c0a43dad15bcff48c0c17fb652506
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 5 15:22:11 2010 +1000

    wcmDeviceTypeKeys: use sscanf instead of manual conversion.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 939bb7e9dad031926252e9da6f329f62b2366bcd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 5 15:12:57 2010 +1000

    wcmDeviceTypeKeys: Move some serial-only stuff into the serial condition.
    
    Neither the strstr nor the memset is needed for USB devices.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 59e9e97e6e21fbb01856e89b5a2dfe7ede0a7823
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 5 15:09:12 2010 +1000

    Add explanatory comment about what wcmDeviceTypeKeys actually does.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 3402bd24b91f651215cc60f255cd9678f24a64fe
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 5 15:07:08 2010 +1000

    Un-nest ID check.
    
    This doesn't have a functional change, but it makes the code a tad easier to
    read.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit a8d82d4a94b06b715f55d686d567cc6d34f87968
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 5 15:04:24 2010 +1000

    Remove erroneous comment.
    
    This part doesn't test if the tool is available, it simply copies the bits
    from the kernel. Testing is done later, somewhere else.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit c90350d148d3c2feec2bceedb83c61a81608a4fc
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Sun Feb 7 20:49:55 2010 -0600

    Fix zoom gesture crash. Make emitKeysym public.
    
    emitKeysym is used by multiple files so can't be static.  Made
    public and renamed to wcmEmitKeysym to better prevent symbol
    name conflicts.  This also fixes a crash with zoom gestures.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9a25bb87e7e7dc9ddf80b842b856c9bab6641460
Author: Denis Auroux <auroux@math.berkeley.edu>
Date:   Thu Feb 4 10:27:46 2010 +1000

    xsetwacom: stop processing options after the last option was encountered.
    
    Adding a "+" at the beginning of the getopt_long parameter string so that it
    won't try to look for options after non-options (in particular, a negative
    number in a set command is no longer considered to be an invalid
    command-line option).
    
    Signed-off-by: Denis Auroux <auroux@math.berkeley.edu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f18af429dd7eddbb5df64a337d138ad9596c87c7
Author: Przemysław Firszt <przemo@firszt.eu>
Date:   Tue Feb 2 19:46:29 2010 +0000

    Rename xf86Wcm{Read,Write} to xf86{Read,Write}Serial
    
    The xf86Wcm{Read,Write} macros no longer exist, so the modified comments
    are more precise with xf86{Read,Write}Serial
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 77e3aba3ed9bf2ed09f25f277a2647887c9f23fe
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Sun Jan 24 16:53:58 2010 +0000

    Rename xf86Wcm* to wcm* - part 3
    
    xf86WcmInitialToolSize -> wcmInitialToolSize
    xf86WcmSetPadCoreMode -> wcmSetPadCoreMode
    xf86WcmDevSwitchModeCall -> wcmDevSwitchModeCall
    xf86WcmChangeScreen -> wcmChangeScreen
    xf86WcmInitialCoordinates -> wcmInitialCoordinates
    xf86WcmVirtualTabletSize -> wcmVirtualTabletSize
    xf86WcmSendButtons -> wcmSendButtons
    xf86WcmVirtualTabletPadding -> wcmVirtualTabletPadding
    xf86WcmFingerTapToClick -> wcmFingerTapToClick
    xf86WcmSetScreen -> wcmSetScreen
    xf86WcmAllocate -> wcmAllocate
    xf86WcmInitialTVScreens -> wcmInitialTVScreens
    xf86WcmSendEvents -> wcmSendEvents
    xf86WcmDevConvert -> wcmDevConvert
    xf86WcmDevReverseConvert -> wcmDevReverseConvert
    xf86WcmDevProc -> wcmDevProc
    xf86WcmDevControlProc -> wcmDevControlProc
    xf86WcmDevChangeControl -> wcmDevChangeControl
    xf86WcmDevOpen -> wcmDevOpen
    xf86WcmInitTablet -> wcmInitTablet
    xf86WcmDevSwitchMode -> wcmDevSwitchMode
    xf86WcmSetProperty -> wcmSetProperty
    xf86WcmReady -> wcmReady
    xf86WcmDevReadInput -> wcmDevReadInput
    xf86WcmDevClose -> wcmDevClose
    xf86WcmOpen -> wcmOpen
    xf86WcmInitArea -> wcmInitArea
    xf86WcmRegisterX11Devices -> wcmRegisterX11Devices
    xf86WcmKbdCtrlCallback -> wcmKbdCtrlCallback
    xf86WcmBellCallback -> wcmBellCallback
    xf86WcmKbdLedCallback -> wcmKbdLedCallback
    xf86WcmCheckSource -> wcmCheckSource
    xf86WcmFingerZoom -> wcmFingerZoom
    xf86WcmFingerScroll -> wcmFingerScroll
    xf86WcmSwitchLeftClick -> wcmSwitchLeftClick
    xf86WcmSendVerticalScrollEvent -> wcmSendVerticalScrollEvent
    xf86WcmSendHorizontalScrollEvent -> wcmSendHorizontalScrollEvent
    xf86WcmUninit -> wcmUninit
    xf86WcmInit -> wcmInit
    xf86WcmMatchDevice -> wcmMatchDevice
    xf86WcmVersionRec -> wcmVersionRec
    xf86WcmPlug -> wcmPlug
    xf86Wcmplug -> wcmUnplug
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1a5dd3a205c4a3a1d5f14305f5d3e98b1573017d
Author: Przemysław Firszt <przemo@firszt.eu>
Date:   Fri Jan 29 20:13:03 2010 +0000

    Fix typo in comment: xf86WcmReadSerial is xf86ReadSerial
    
    From 482e08fd52c95a0b1197a004086907a9e6ed3230 Mon Sep 17 00:00:00 2001
    From: Przemo Firszt <przemo@firszt.eu>
    Date: Fri, 29 Jan 2010 18:42:19 +0000
    Subject: [PATCH 1/2] Fix typo in comment: xf86WcmReadSerial is xf86ReadSerial
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e756c8e0e013340e91589a5576ec83f847e5a689
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Mon Jan 25 15:38:02 2010 -0500

    config: add make target to provide the INSTALL file.
    
    The file is globally provided by the util-macros module
    through the XORG_INSTALL macro in XORG_DEFAULT_OPTIONS.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d1aaa376207b5aef6a058c5f3a4cae7121f918a0
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Sun Jan 17 11:54:40 2010 +0000

    Move wcmTilt2Rotation function to wcmFilter.c
    
    wcmTilt2Rotation function is now in wcmFilter.c, so wcmTilt2Rotation.c has
    been removed.
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Tested-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 69aa4e1139cc81436ea7658b8e9d97f5c6860607
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sat Jan 16 10:12:12 2010 +0000

    Being part of the tilt2Rotation team
    
    For the fun of coding and hopefully, as a by-product, improving the
    precision
    
    Signed-off-by:  Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e4aed3e13f00d7e6fc2d2d1379a92187203413a2
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Sat Jan 16 10:01:01 2010 +0000

    Remove hardcoded rotation tables from wcmTilt2Rotation.c
    
    Rotation tables are replaced with atan2 function. It gives the same
    functionality as rotation tables.
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Tested-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c8176267aec7dbc6cd248f9bd2a9c36df88c84cd
Author: Gaetan Nadon <memsize@videotron.ca>
Date:   Sun Jan 17 09:20:16 2010 -0500

    .gitignore: use common defaults with custom section # 24239
    
    Using common defaults will reduce errors and maintenance.
    Only the very small or inexistent custom section need periodic maintenance
    when the structure of the component changes. Do not edit defaults.
    
    Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ad4f40386739ac87adefce5493554df6a8a118e2
Author: Chris Bagwell <chris@cnpbagwell.com>
Date:   Thu Jan 14 13:32:52 2010 -0600

    Default touch Mode to Relative for Bamboo P&T
    
    Touch screens and Touch Pads are sharing same type.  Make their
    Mode defaults match normal operating behavior which means
    change Bamboo P&T default to relative.  Simplify error case and rely
    of default values from initialization phase.
    
    Signed-off-by: Chris Bagwell <chris@cnpbagwell.com>
    Tested-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d6a194c80623c5306d60ee3f234863b3b4bacc6d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jan 15 15:42:49 2010 +1000

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

commit edf28df08b557ea6b7edb6c721670745c9e59cb6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 24 21:18:10 2009 +1000

    Protect against input ABI 9 and the input attributes.
    
    XINPUT_ABI 9 introduced InputAttributes to NIDR.  Attributes are assigned by
    the config backend (or the configuration). Hence, by the time they hit the
    driver they've been converted into options already.  From the driver's POV,
    duplicating the options is enough, especially since the driver cannot know
    which attributes apply to the device anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 01ff37c1a0a1bf74c8efb0ad2ee7b1c1792f98df
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Sat Jan 9 17:18:01 2010 +0000

    Add Meta keys to xsetwacom
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 216c61a249c73aa44d98d837f1b5ae94a5a51559
Author: Ron Lee <ron@debian.org>
Date:   Sat Jan 9 22:38:58 2010 +1030

    Install the fdi as DATA not a SCRIPT
    
    This is xml it isn't executable.
    
    Signed-off-by: Ron Lee <ron@debian.org>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d4d6dd1aca5c2b79cfb68211491c01442f7597d2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 6 13:14:23 2010 +1000

    xsetwacom: the capacity property is 32 bit.
    
    Reported-by: Chris Bagwell <chris@cnpbagwell.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit edf71d2a664f6ed2a3ecccf77760c31410017444
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Mon Jan 4 23:13:06 2010 +0000

    Remove duplicate comment in xf86WacomDefs.h
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 118027d6704ad8b3162ed06fc02d1dbdcc877485
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Mon Jan 4 18:48:54 2010 +0000

    Fix wacom.fdi location in Makefime.am
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e9ab3c9c35d0991fb7c7624cccd76baae4e02bcf
Author: Ping <pinglinux@gmail.com>
Date:   Wed Dec 30 21:12:47 2009 -0800

    Restore valid small data packets
    
    Protocl 4 devices may send small, such as 2 or less,
    valid events in one data packet
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1583ee5a9fd9486d540ecf639dda53d5e2e7502e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 29 21:01:43 2009 +1000

    Update README to reflect current state a bit better.
    
    This driver is an X11 driver only, and the configure options are explained
    by configure --help. Let's not mirror this in the README, it may diverge
    otherwise.
    
    Add a very simple explanation on how to set up the driver fro hotplugging
    with HAL, xorg.conf configuration is better explained in the man page.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 27addb06d4ebf6f8988a14174b2823c1a4ab1504
Author: Przemysław Firszt <przemo@firszt.eu>
Date:   Wed Dec 23 15:20:57 2009 +0000

    Rename xf86Wcm* to wcm* - part 2
    
    Rename xf86WcmTilt2R to wcmTilt2R
    
    Rename xf86WcmMappingFactor to wcmMappingFactor
    
    Change xf86WcmWrite to wcmWriteWait in comment
    
    Rename xf86WcmInitialScreens to wcmInitialScreens
    
    Rename xf86WcmDesktopSize to wcmDesktopSize
    
    Reneme xf86WcmIsWacomDevice to wcmIsWacomDevice
    
    Rename xf86WcmRotateTablet to wcmRotateTablet
    
    Rename xf86WcmSuppress to wcmCheckSuppress
    
    It's wcmCheckSuppress instead of wcmSuppress to avoid collision with variable
    with the same name used in xf86WacomDefs.h
    
    Rename some Wcm* to wcm* to keep function names consistent
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2a388e56688300c437926eff2915b10e6e6a06d9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sun Dec 27 08:27:31 2009 +1000

    xsetwacom: get "all" is a read-only parameter.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7972d9a18fba31d3f7da71aab8f10c10b84c3dd4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sun Dec 27 08:23:49 2009 +1000

    xsetwacom: special output for write-only options.
    
    So far we only have xyDefault as write-only option but having some more
    user-friendly output is helpful.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 25abbc8e8268466bd720378e7c1e2156206d66e5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 24 21:20:48 2009 +1000

    xsetwacom: Print error message when attempting to change read-only options.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 62900e48b54855daec8a74f6b28591411c2f76fa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 24 21:07:58 2009 +1000

    Re-indent property code to what's used in the rest of the driver.
    
    All files use 8-char tab indentation, not 4 spaces. Re-indent to be conform
    with the rest of the code.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 988bc36f58da94eb67f83e33b9b1f2499acaba36
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 24 08:55:16 2009 +1000

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

commit 0ac1c3810824b43fb8439d72d116e379e01e5030
Author: Ping Cheng <pingc@wacom.com>
Date:   Tue Dec 22 18:06:34 2009 -0800

    Fix a tablet rotation bug.
    
    Caused by the misuse of maximum X and Y.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 82408de786df12efa1f5f0ec9d0f5754f9c61bf7
Author: Ping Cheng <pingc@wacom.com>
Date:   Tue Dec 22 17:59:41 2009 -0800

    Validate the active tablet area before initializing the area
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 72c69cfc60d6b762415828930a63e485aa00185f
Author: Ping Cheng <pingc@wacom.com>
Date:   Tue Dec 22 17:48:09 2009 -0800

    Add local maxX, maxY, resolX, and resolY
    
    Instead of switching maximum and resolution back and forth between
    touch and penabled devices globally, we define them into WacomDevice.
    The values are initialized in xf86WcmInitialToolSize once and used
    through out the life of the device.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fe2d108ac2e2bbddc1a8dba96550e737a15aee9e
Author: Ping Cheng <pingc@wacom.com>
Date:   Tue Dec 22 17:12:05 2009 -0800

    Add routine wcmRotateCoordinates
    
    Both wcmCommon.c and wcmTouchFilter.c need to rotate x and y before
    sending X input events. wcmRotateCoordinates is added to wcmCommon.c
    so it can serve both cases.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit aa5c91c68ce9e3c758b584359f9c18f6ce88250e
Author: Ping Cheng <pingc@wacom.com>
Date:   Tue Dec 22 18:14:58 2009 -0800

    xsetwacom: update usage help for Rotate option
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 398689d3a26bd5aa4ea715e9690a233b7a02fd70
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 23 13:29:28 2009 +1000

    xsetwacom: make parameters case-insensitive.
    
    This replicates the behaviour of the old xsetwacom, making
    xsetwacom ... TopX the same as xsetwacom ... topx.
    
    Reported-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c68fed3f13ca1335af548b88da72c27362d10ebd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 23 11:25:20 2009 +1000

    Add "Wacom Debug Levels" property.
    
    This property is only present if compiled with --enable-debug and allows for
    run-time modification of the debug levels. Values supported are 0 to 10,
    with 10 being the most verbose.
    
    xsetwacom --set "device name" DebugLevel 10
    xsetwacom --set "device name" CommonDBG 10
    
    Since this is a driver-internal property clients are discouraged from using
    this property for any purpose. It may disappear or change without warning in
    future releases of the driver.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2e03f1cde879fb9d16d21d79f4c71fcab703a578
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 23 11:07:52 2009 +1000

    Remove now superfluous name prints.
    
    The DBG macro prints the device name/device file automatically.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2429513915ee11e42e44068c1f8f66ff179cd534
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 23 10:38:11 2009 +1000

    Auto-prepend device name/file to debug messages.
    
    Add a new "name" field to the WacomDeviceRec. This field is at the same
    offset as the wcmDevice Field of the WacomCommonRec, hence the access to
    either is the same if casted.
    
    Then use this field to auto-prepend either the device name or the device
    file wherever a DBG macro is used. The output for DBG on priv is now
    (II) Wacom Intuos4 6x9 (xf86WcmMappingFactor): X factor = 0.0258, Y factor = 0.0309
    
    and for DBG on common
    (II) /dev/input/event13 (wcmReadPacket): buffer has 112 bytes
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bdc40d1a769229082cf91f8fd344f230996a6440
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 23 10:25:05 2009 +1000

    common and priv both have debugLevel, just pass them in as-is.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ea0591783f7c32dc9c650bc1b1f12a7c62379991
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 23 10:03:16 2009 +1000

    Merge the function name into the DBG macro.
    
    Each time DBG is called, prefix with __func__ regardless of the actual
    message. An empty DBG string thus prints "function name:".
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0501b9977050dbec74c72dbd8c78f2b72df43ab9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 23 09:43:12 2009 +1000

    Merge the xf86Msg into the DBG macro.
    
    All DBG macros call this function, there's no need to have it inside the
    macro, we might as well leverage __VA_ARGS__.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2fa1308110639d89c63a197efb53bd3b3791a51f
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Tue Dec 22 19:49:54 2009 +0000

    Rename xf86Wcm* to wcm*
    
    Rename xf86WcmFilterCoord to WcmFilterCoord
    
    Rename xf86WcmSetPressureCurve to wcmSetPressureCurve
    
    Rename xf86WcmFilterIntuos to wcmFilterIntuos
    
    Rename xf86WcmSerialValidate to wcmSerialValidate
    
    Rename xf86WcmWaitForTablet to wcmWaitForTablet
    
    Rename xf86WcmWriteWait to wcmWriteWait
    
    Rename xf86WcmWait to wcmWait
    
    Rename xf86WcmReadPacket to wcmReadPacket
    
    Rename xf86WcmEvent* to wcmEvent*
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a2f89b40e54e2abc854af42453160488ff22499f
Author: Ping Cheng <pingc@wacom.com>
Date:   Mon Dec 21 16:52:28 2009 -0800

    Remove area overlap check for area property
    
    Temporarily change the area to the new coordinates, do the range overlap
    check and then change it back to the original. This is needed since
    otherwise the area overlap check always fails (since the new area will be
    mostly identical to the current one).
    
    New behaviour: all four coordinates set to -1 reset the area to the
    defaults.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>

commit 781bb48a2ccfb2f6c12f53bc93f5a123af65bc26
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Dec 21 13:32:54 2009 -0800

    Send horizontal scroll gesture with button 6 and 7 events
    
    On older X servers, button 6 and 7 don't do anything special;
    on X server 1.7 and later, they are being translated into left and right
    scroll events.  This patch changes left/right arrow to button 6/7 for
    horizontal scroll events.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e243805faabc14826bcea227c6ed2d0a13a3467a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 15 07:34:10 2009 +1000

    Use xf86Msg instead of ErrorF for debug messages.
    
    ErrorF is supposed to be used in the server, drivers are better off calling
    xf86Msg since this uses the appropriate prefixes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c04fb18412be3908678cf3fc68a899272e6835bb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 21 16:49:35 2009 +1000

    Fix touch property out-of-bounds memory access.
    
    4fd2af39a5432eaad03af6a48cd16988a165fbbb split out the touch setting from a
    combined property into its own separate one. The index didn't get updated
    though, which means wcmTouch was assigned random garbage.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Ping Cheng <pinglinux@gmail.com>

commit a6ac60245f3c121979c18e70b40045aa751d6c54
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 17 11:44:38 2009 +1000

    xsetwacom: add support for "xsetwacom --get <device> all"
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c6c8f23a17390d7f11d92e7cbbe70ca1a57b62e2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 17 11:43:00 2009 +1000

    xsetwacom: split get() into get() and get_param().
    
    This makes get_param() the same signature as the other, specific, get()
    functions and get() a simple wrapper around it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0937d89a8d364b1150d68097527f2e92ba2639c6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 17 10:24:00 2009 +1000

    xsetwacom: init nwords to 0 before adding to it in strjoinsplit.
    
    nwords is a return value and needs to be initialized before adding to it.
    
    Reported-by: Przemysław Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b7e90296453b536b00a2857d978fd53a72d77c0b
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Thu Dec 17 20:24:38 2009 +0000

    Remove redundant xf86WcmMappingFactor calls
    
    No need to call xf86WcmMappingFactor before xf86WcmInitialCoordinates because
    xf86WcmInitialCoordinates calls it anyway.
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 463c5d1effa3505d54a5a520d143919ad1befc69
Author: Ping Cheng <pingc@wacom.com>
Date:   Tue Dec 15 21:05:38 2009 -0800

    Support 2FGT gesture
    
    There are 3 gesture features:
    
    second finger tap to right click (GESTURE_TAP_MODE)
    vertical/horizontal scroll (GESTURE_SCROLL_MODE)
    and zoom in/out (GESTURE_ZOOM_MODE)
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit dea6383b30e1695acc6183aa098a4e056640596c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 17 11:50:34 2009 +1000

    xsetwacom: don't line-break after 32 bit values and Absolute/Relative.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a11cbb104b7a511d0f1292d169a9738ae4f91476
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 15 13:48:44 2009 +1000

    xsetwacom: don't release modifiers unless explicitly stated
    
    modifiers are interpreted as "+keysym" only if the + or - are missing. This
    allows for configurations like "key shift" to work properly.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit dbec45bbd0d594a1f4229f6ad7e7a71890331305
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 15 13:33:51 2009 +1000

    xsetwacom: fix handling of unknown modifiers.
    
    Previous conditions were broken, key F1 wouldn't parse (key f1 would though)
    and providing a real modifier (Shift_L) would break too.
    Function keys (lowercased) are now handle like modifier keys, if a modifier
    couldn't be mapped check with XStringToKeysy if it's valid.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b9d5e7319f83ee608a216a17e9a59621bedb7e58
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 15 12:29:17 2009 +1000

    Release keys still down when a button is released.
    
    xsetwacom --set <device name> "Button1" "key +shift"
    keeps the shift key down until the button is released, allowing it to work
    like a real modifier.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b009e88c4ca2a72d286d15b44426150e792acd5d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 15 12:11:12 2009 +1000

    Fix up btnaction property setting.
    
    Buggy behaviour meant that unsetting a property got never removed from the
    property handlers. Since we only support one action per button anyway,
    simply overwriting the current one is enough.
    
    The static array isn't enough either, it's shared within the driver,
    hence updating the property on one device will update it on the other. Move
    it into the priv struct.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1721220517c2e5d4833ea1bb116b10c1e4e2fa62
Author: Ping Cheng <pingc@wacom.com>
Date:   Mon Dec 14 20:51:13 2009 -0800

    Set Touch and Gesture options during the configuration
    
    We moved the touch and gesture option check from usbWcmInit
    to wcmValidateDevice.c since usbWcmInit gets called every time
    the device is opened, which is unnecessary for option check
    in most cases.
    
    The Tablet PC Button option should also be dealt in the same way.
    But it requires extra defines to make it clean, which will affect
    more files in the driver. We'll do it in a separate patch later.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7c3c5c02cc80596f89a56b19eae40a28627162bb
Author: Ping Cheng <pingc@wacom.com>
Date:   Wed Dec 16 09:38:40 2009 +1000

    Enable Serial ISDV4 2FGT tool type in wcmDeviceTypeKeys
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c1c5e4c91b2474fc3bce7029181af61e369bd7d3
Author: Ping Cheng <pingc@wacom.com>
Date:   Mon Dec 14 21:29:53 2009 -0800

    Report time stamp for 2FGT gesture
    
    2FGT gesture needs to know the time that an event was received
    to decide what gesture mode users may want.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 44ee577ee561c4c27cf05c9c32e57b947972c982
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 15 11:56:29 2009 +1000

    xsetwacom: button numbers are one-indexed, store button action accordingly.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5e94aa26a263de8184695fb66a7e95e89a6df0bf
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 14 16:42:27 2009 +1000

    Fix typo: xf86WcmVirtualTabletSize → xf86WcmVirtualTabletSize
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <pinglinux@gmail.com>

commit 7958f096a82d7c8c5f27b9a37ae1e9036343d5e5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 14 16:50:55 2009 +1000

    Remove stray semicolon after if condition
    
    No wonder changing the TopY didn't work...
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 05c37b09260ee0388cb4de2e0a5825df8e96b2aa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 14 16:14:56 2009 +1000

    xsetwacom: don't crash on xsetwacom get <device name> without a param.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 70a1a852f62d9439cbd3ca09ca500cc95716d88a
Merge: bffe7c2 3977da2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 14 09:01:42 2009 +1000

    Merge branch 'xsetwacom'
    
    Conflicts:
    	src/wcmXCommand.c

commit bffe7c23591c0d1ae70e73a27fab669d4a190ade
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Sun Dec 13 17:28:59 2009 +0000

    Quiet gcc warning about not used xf86WcmKbdLedCallback function
    
    xf86WcmKbdLedCallback is used only for ABI < 5, so there is no need to define
    it for newer ABI.
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3977da27de9240041a64b7c8a1c731d2102b0104
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 11 11:54:16 2009 +1000

    xsetwacom: handle "on"/"off" for boolean properties.
    
    Reported-by: CJ van den Berg
    Tested-by: CJ van den Berg
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a8a0a65457d2f7516c5781bddba23acfdd263889
Author: Ping Cheng <pingc@wacom.com>
Date:   Fri Dec 11 14:21:47 2009 -0800

    Update TPCButton check
    
    Also updated some TPCButton related comments
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3c5ce9f7052c1a51208458c588c82bff56ca9ff2
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Wed Dec 9 20:17:17 2009 +0000

    Rename xf86Wcm* generic area check functions to Wcm*
    
    (xf86)WcmPointInArea, (xf86)WcmAreasOverlap & (xf86)WcmAreaListOverlaps are
    not part of X interface, so xf86 prefix is not needed.
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 34042b54581ad02b64452c4a898f2307718ae511
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Wed Dec 9 19:56:47 2009 +0000

    Move xf86WcmPointInArea, xf86WcmAreasOverlap & xf86WcmAreaListOverlap
    
    Those 3 functions shouldn't be in wcmConfig.c as they have nothing to do with
    configuring the device. wcmCommon.c is much better place for generic
    functions.
    
    Signed-off-by: Przemo Firszt <przemo@firszt.eu>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 29aea09089a670141744843ea904afd500acc6c5
Author: Ping Cheng <pingc@wacom.com>
Date:   Thu Dec 10 20:37:24 2009 -0800

    2FGT data parsing was misplaced
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5040b6d74c10376edd755bbf58e97d4b45df9eb9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 11 13:25:39 2009 +1000

    Silence valgrind warning about unitialized bytes.
    
    valgrind doesn't understand the ioctl so it believes that the matching
    bitfields are unitialized. Simply init to 0 to reduce the noise.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5838c6a32dfdac7badd91e6ab3d20cef8dc2cb37
Author: Ping Cheng <pingc@wacom.com>
Date:   Thu Dec 10 20:11:04 2009 -0800

    Gesture for 2FGT devices
    
    Add Gesture option and defines for two finger touch devices
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e99834b9229734823fbe3fbc3618769224db6f37
Author: Ping Cheng <pingc@wacom.com>
Date:   Thu Dec 10 19:44:03 2009 -0800

    retrieve usb device and tool type from the kernel
    
    Touch device can be decided by checking if BTN_TOOL_DOUBLETAP
    is defined in the kernel or not
    
    TPCButton is on for all penabled TabletPCs
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a1c22a8457ad1902f313969e1f7822af61591c8f
Author: Ping Cheng <pingc@wacom.com>
Date:   Thu Dec 10 19:25:34 2009 -0800

    Move Touch and TPCButton options check
    
    Touch and TPCButton options are global.  They should
    be checked for all USB devices.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ca130158eb75947abe1d33378af9603850e975d5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 10 11:44:16 2009 +1000

    Don't set calloc'd fields to zero.
    
    xf86WcmAllocate uses calloc for internally used fields. There's no need to
    reset all defaults to zero, we can assume they are.
    
    Removing those that are initialized to zero reduces the noise, anything
    listed in xf86WcmAllocate has a default that's not zero and is easy to grep
    for.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f78f78897b8ae211b8dc8d1e9919b665c7f357ba
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 10 15:55:53 2009 +1000

    xsetwacom: handle string commands for TwinView setting
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b4fe899d1f23bf1c7caa44554b46ae64fbcf5be3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 10 15:22:43 2009 +1000

    xsetwacom: Be more flexible for multi-value properties.
    
    xsetwacom set <device> PressCurve 1 2 3 4 is the same as
    xsetwacom set <device> PressCurve "1 2 3 4"
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5f442c7fd5b6f490d2ec9d4dc4efef5bc3319b00
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 10 13:58:07 2009 +1000

    xsetwacom: enable -x and -s get flags
    
    xsetwacom -x get "device name" "option name" returns the matching line for
    the xorg.conf
    xsetwacom -s get "device name" "option name" returns the matching line for
    xsetwacom
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f4fbe2ebbb48391c3449fad756300c4f34e432ee
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 9 16:47:09 2009 +1000

    xsetwacom: implement xyDefault - reset to driver-internal defaults.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 73c09e8b574752239a6f6fb46da24f08e58347f4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 9 16:41:37 2009 +1000

    xsetwacom: plug minor memory leak in set()
    
    The data returned by the first xGetDeviceProperty was never freed.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6f515f56a456ff01b7df17874c1c55994518bcc0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 9 16:15:02 2009 +1000

    xsetwacom: support GNU-style for --list, --get, etc.
    
    The old interface without "--" is still supported, hence
    xsetwacom --list is the same command as xsetwacom list
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 39ed1971e19825cf164098c5896aba813fc99a1d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 8 17:05:25 2009 +1000

    xsetwacom: implement verbosity.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d5db667f469b7fe960039e6a486ff49fbced4158
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 7 17:20:36 2009 +1000

    xsetwacom: switch to use of named initializers.
    
    This slightly improves the mess that is the parameters list.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4b0b1c10ca53ce0b2206888fd14f93e65178b823
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 7 16:10:51 2009 +1000

    xsetwacom: implement get_mode.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d8e5b1f2f9aa6290de03bc9abbc593b58ba5d647
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 7 15:21:06 2009 +1000

    xsetwacom: support get/set rotate.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bcccd6657acc5fbd13c81461fe664bfeba693e77
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 7 15:08:44 2009 +1000

    xsetwacom: error out if a property offset doesn't exist.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 05200225c3f07e4745c933792a48683180bc02e6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 7 15:06:25 2009 +1000

    xsetwacom: a few parameters aren't implemented for get either.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6f85ae4365528d6ff7bd1bea27f68edaa40f1b5c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 7 15:05:20 2009 +1000

    xsetwacom: don't try to get/set nonexistant buttons.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit dc990a09b03de914da94cb2423323b000a426217
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 7 14:59:38 2009 +1000

    xsetwacom: abstract extracting the button number.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4d2c3d19dce4822022fe84d699ce7b87d2da3f67
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 7 14:57:13 2009 +1000

    xsetwacom: implement "get Button1" for simple mappings.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 80afd187ee59c7adc04cf304dc428c1390d44f91
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 7 14:52:53 2009 +1000

    xsetwacom: Add special hook for 'get PressCurve'
    
    PressCurve returns 4 integers, needs a special hook.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 119da3793d77815f7d6419a7ea5d79fdbd95d9f1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 7 14:41:23 2009 +1000

    xsetwacom: split func into set_func and get_func.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0f722b17964e095cabcc8e6986034ab553093a32
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 4 16:20:24 2009 +1000

    xsetwacom: add "-" and "+" notation and modifier parsing to key sending.
    
    Keys prefixed with + are down only.
    Keys prefixed with - are up only.
    Keys without a prefix are down + up.
    
    e.g.  xsetwacom set "device" Button1 "key +ctrl c -ctrl"
    Is equivalent to lctrl down, type c, lctrl up.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 63f4df5334c5daaa0c732b3336b58da23254a816
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 4 12:31:41 2009 +1000

    xsetwacom: keystroke button mapping support.
    
    Adds ability to map keys to button events in the form of
    xsetwacom set "device" Button1 "a b c d"
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8b188a4b1016d61b7db00bc3a040436c4cbabf4b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 4 11:04:35 2009 +1000

    xsetwacom: Remove getdefault option, not implemented anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d65ba449ccb2372022dc2d5df8dfa7180c011d06
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 4 10:45:32 2009 +1000

    xsetwacom: remove CoreEvent option - not a driver choice.
    
    In server 1.7 and higher, whether core events are sent by a device depends
    on their attachment, not on a driver setting.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bafa7b22388c812dfffac3a64233912a55708317
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 4 10:42:37 2009 +1000

    xsetwacom: implement 'xsetwacom get' for basic properties.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5ac72a6e4499e3f85b1b9268a674454b4040cf4f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 4 10:16:35 2009 +1000

    xsetwacom: remove SpeedLevel and Accel options.
    
    Unimplemented, and they're not handled through the server's accel methods,
    not in the driver. That's not to say that xsetwacom can't provide an
    interface to the accel methods, but this isn't it it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 49957a6f2c2b61fd07aa46be53cab4dfa356e8f8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 11 14:10:04 2009 +1000

    xsetwacom: announce not-implemented options and parameters as such.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a0c314880f03e2d6fb2c37f1eda047f11de0f179
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 11 13:28:52 2009 +1000

    xsetwacom: fill in property for TPCButton, RawFilter, ClickForce.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1ae52b2bfeaa8534e36212b75c5731f7832a3e22
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 11 13:26:05 2009 +1000

    xsetwacom: implement rel/abs mode setting.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d0acbf567104542ee41694fca33ee6bd3c22fd5b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 11 13:10:36 2009 +1000

    xsetwacom: allow for multi-value properties (PressCurve)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 235ac5ebca6d0b15909c765df9a69751e9fda380
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 11 11:27:25 2009 +1000

    xsetwacom: Support xsetwacom set <name> Button1 for buttons and references.
    
    Supported functions:
    xsetwacom set <name> Button1 4
    xsetwacom set <name> Button1 "button 5"
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 08613765c18bc1dc8c14a7e3fed3e95e7f879973
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 16:38:42 2009 +1000

    xsetwacom: Add property hooks for xsetwacom set/get support.
    
    This uses a similar principle as synclient, the option table contains the
    offsets into the matching properties, these are automatically changed.
    One exception - some options xsetwacom provides don't map into a concreate
    property, for these special functions are required (e.g. all the ButtonX
    options).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1efdc8606b59c90167967b074230c9e2a76c9edf
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 11 10:43:56 2009 +1000

    xsetwacom: Add find_device() helper function.
    
    Does pretty much the same as the one from xinput.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b456d47fef3b56a2b62f026e6abd04f91c1b7b40
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 13:35:46 2009 +1000

    xsetwacom: Implement xsetwacom list.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 087655d80d8dfb48ea395b6ae41e85a580f3851a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 11:43:46 2009 +1000

    Add tools/xsetwacom, currently a stub.
    
    config.h includes xorg-server.h and it's 64 bit magic. xsetwacom can't use
    this magic, it needs to use the 64-bit interfaces provided by Xlib and thus
    the matching sizes for all structs.
    
    Instead of including xorg-server.h in all driver source files, conditionally
    include it depending on whether WACOM_TOOLS is defined or not.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e1cbd668de52ff3f35c8cc1ca362adc019935288
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 8 15:51:08 2009 +1000

    Support future udev backend.
    
    udev support isn't actually in the server yet but it will announce itself as
    server/udev in the source. If so, hook onto it in the same manner as onto
    HAL.
    
    This allows for easier testing with a udev-enabled development server (which
    is already in Debian).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bad2015301a83c0c50d18c177d57b1105a173673
Author: Enrico Ros <enrico.ros@gmail.com>
Date:   Thu Dec 10 02:30:46 2009 +0100

    Add USB devices 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, mapped to the Bamboo tablet.
    
    Maybe it will be better to map them to the Bamboo Fun functions, even if the
    commercial name is different. Model checking needs to be cleaned here.
    
    Applied most of the wcmUSB.c.patch -r34 as found on UbuntuForums.
    
    Signed-off-by: Enrico Ros <enrico.ros@gmail.com>

commit 21526f944f5f7731ce6a661796571c0dfbe802e7
Author: Enrico Ros <enrico.ros@gmail.com>
Date:   Thu Dec 10 02:27:51 2009 +0100

    Don't crash if model-specific functions are not defined.
    
    If the kernel supports a newer device, not handled by this driver,
    avoid crashing the X server.
    
    Signed-off-by: Enrico Ros <enrico.ros@gmail.com>

commit 3149204e553de56f2d9b47990878ff17a3e0f8a4
Author: Ping Cheng <pingc@wacom.com>
Date:   Sun Dec 6 15:41:16 2009 -0800

    Add new USB devices
    
    Updated comments where appropriate for the new devices
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e965ac7d3d5be6721063f0a4ca28cfd53afac28a
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Dec 2 15:51:21 2009 -0800

    Remove unused comments
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d4c3aef2226f39e346fc9b7c22e54a4e97889458
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Dec 2 14:55:45 2009 -0800

    Spin-off usbChooseChannel from usbParseEvent
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e9984c74f00afb7f80cb925d3282fb8151854161
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Dec 2 13:23:30 2009 -0800

    Move xf86WcmReady from wcmCompat.c to xf86Wacom.c
    
    xf86WcmReady is only needed by xf86Wacom.c. We move this
    routine from wcmCompat.c to xf86Wacom.c so we can discard
    the unnecessary wcmCompat.c.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f7aaaf8d06902ec32e64b252e28792b6d9bc0c89
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Dec 2 13:13:18 2009 -0800

    Move xf86WcmWait from wcmCompat.c to wcmISDV4.c
    
    With the removal of regular serial device support,
    ISDv4 is the only file that needs xf86WcmWait call.
    The wcmCompat.c file is going to discarded in the
    next patch.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 35322750898d1ba3c0b74f197b6d60a39b7ad781
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 2 13:58:11 2009 +1000

    AC_TYPE of 0 is a valid type for wheel events.
    
    3cfc3f5df754c6266127e3addbd6ee84c8f471d9 introduced button actions. Wheel
    events by default are simply assigned to a button. In the old code,
    AC_BUTTON was 0, now AC_BUTTON is a specific event mask. Hence we need to
    cater for both AC_BUTTON set or unset - they just happen to produce the same
    result.
    
    This is a quickfix, the wheel event processing seems it could use some
    cleanup.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c87e328b047e66969eef1c47f3ac9a6d3b76be3d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 1 13:29:25 2009 +1000

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

commit 3cfc3f5df754c6266127e3addbd6ee84c8f471d9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 25 17:02:34 2009 +1000

    Provide "Wacom Button Actions" property and associated button actions.
    
    This patch adds a new property that's a list of property references on the
    same device.
    The property contains WCM_MAXBUTTONS atoms, each of which provides a
    zero-terminated sequence of actions to be performed when that button is
    pressed (but not when released).
    
    Possible actions are a combination of AC_* flags and - if appropriate - a
    value. For example, assume a property with the following values is set for
    "Wcm Button Actions"[1]:
    
    AC_KEY | AC_KEYBTNPRESS | XK_A
    AC_KEY | XK_A
    AC_KEY | AC_KEYBTNPRESS | XK_b
    AC_KEY | XK_c
    AC_KEY | AC_KEYBTNPRESS | XK_c
    AC_KEY | XK_c
    AC_KEY | AC_KEYBTNPRESS | XK_Control_L
    AC_KEY | AC_KEYBTNPRESS | XK_c
    AC_KEY | XK_c
    AC_KEY | XK_Control_L
    AC_BUTTON | AC_KEYBTNPRESS | 1
    AC_BUTTON | 1
    AC_BUTTON | AC_KEYBTNPRESS | 1
    AC_BUTTON | 1
    
    If button 2 is pressed on this device, the device sends key events
    equivalend to typing "Abc", Control+C and finally executes a double-click on
    button 1.
    
    If a button has no action set, the default button event for this button is
    sent.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 365338032da115e45d6d0d076323f59bc17291b2
Author: Tomas Carnecky <tom@dbservice.com>
Date:   Tue Dec 1 01:13:25 2009 +0100

    Fix a crash that would happen when a sysfs device doesn't exist
    
    Signed-off-by: Tomas Carnecky <tom@dbservice.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 59754d40db384f0d8cd8880fb07a56f43666a1b4
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sat Nov 28 12:19:58 2009 -0800

    Clean up wcmPktLength code for ISDV4 devices.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ee65ca1271a59c5704a4c5a83c9b51ca09c5c3dc
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sat Nov 28 12:00:28 2009 -0800

    Move xf86WcmOpen from wcmCommon.c to xf86Wacom.c, where it is supposed to be.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 94dcb512294a8f229d40a16a5f84c5d61d84ceef
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Nov 30 14:05:53 2009 +1000

    Move wcmDevCls check to xf86WcmOpen, where it belongs.
    
    Get rid of the confusing "usbDetect: can not ioctl version" message for
    ISDV4 devices.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a3b37e27514c3fb26fd000035eb4a63272f31123
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Nov 30 13:52:20 2009 +1000

    Let default catch all hotplugged serial ISDV4 devices
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 693913e55b3244c7728737e55069c3ffc5c6c16f
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Fri Nov 27 20:08:52 2009 -0800

    Remove ForceDevice option - now unused.
    
    Since we only support ISDV4 serial devices with this driver, there is no
    need to check the "ForceDevice" option any more, which was used to
    distinguish ISDV4 from regular serial devices.
    
    We check if the device is a serial device or not by accessing its file
    descriptor directly.
    
    Device Class is assigned to USB by default.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0c9419360da976c6580af4615b244bc112d748cd
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Fri Nov 27 19:49:17 2009 -0800

    Support serial hotplugging.
    
    USB devices use the KEY_* bits to determine the capabilities. Serial devices
    fake up those bits depending on the ID announced. Then pass those bits
    between wcmConfig.c and wcmValidateDevice.c
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 54387e477904cadf3a0ebfc37567f808d4b94cce
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Fri Nov 27 14:25:36 2009 -0800

    Only check device type for xorg.conf devices, not HAL devices.
    
    HAL devices are hotplugged internally and the type is assigned based on the
    device's capabilities. xorg.conf devices are user-specified and need to be
    checked for validity.
    
    Signed-off-by: Ping Cheng <pingc@wacom.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f2e437e693f1ee482d112e69efdb0a383912c682
Author: Thomas Jaeger <ThJaeger@gmail.com>
Date:   Fri Nov 20 22:37:31 2009 -0500

    Don't crash if wcmIsAValidType returns False for all types
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cd0ce8d3fb27e4e6abbec22c02613c89195e9aa0
Author: Thomas Jaeger <ThJaeger@gmail.com>
Date:   Thu Nov 26 01:25:21 2009 -0500

    Support sending keys on xserver-1.6
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1965720a3050b3d331da580f869d0c3eeed869d0
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Nov 26 14:43:02 2009 +1000

    Add two-finger touch support and unify touch support for the new protocol.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8a9fe4a8e22bd20541a0887e74bfe054bf8fca82
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Nov 26 14:32:58 2009 +1000

    Add defines for various ISDV packet lengths.
    
    Some of these defines aren't yet in use, they will be once new protocol
    support is added (see future patch titled
    "Add two-finger touch support and unify touch support for the new protocol.")
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 680958e276be6a5dbf659135d3e19bc4c0f68f33
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 24 14:27:43 2009 +1000

    Convert a failed ioctl error into a warning only.
    
    With hot-plugged devices, we don't know for sure if the device is an USB or
    serial, so we default it to USB. If the device happens to be a serial
    device, the ioctl fails with EIO and we try to add it as serial device.
    Hence a warning, not an error.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a6f0df89db2ef1f66cd42d57b19f902edbf23dc7
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Nov 23 12:05:19 2009 +1000

    Remove uniq field - not required.
    
    We don't allow multiple devices from the same port, and wcmCommon already
    tracks the parent/dependent devices for us. The uniq field is superfluous.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a20fbdd32d14da17933d7bf69fa8542f51febfda
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 19 16:25:48 2009 +1000

    Move the ARRAY_SIZE macro into a header file, it's useful elsewhere.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a653c3419f7c5854d6fabaf9c4a70ee4308e99dd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 17 14:58:17 2009 +1000

    Init the key class struct for the device (and send keys) on ABI 7.
    
    Force a hardcoded keymap to semi-protect against local keymap changes (i.e.
    other layouts). This doesn't protect against run-time changes of course, so
    it's arguably pointless if we expect the session to set the RMLVO.
    
    This patch restores key sending for the tablets as working before the switch
    to input ABI 7 removed that bit.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 65b6913046c07f38e348d9944a1915785cbbbb48
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 25 16:15:43 2009 +1000

    Remove XWACOM_PARAM_* definitions - unused now.
    
    They are required for the old configuration interface through
    DeviceCtrls. With the switch to properties, these defines are now unused.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4aa6670cbe4403a39c26ba1ac518af9edbc6abb7
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Tue Nov 24 20:57:31 2009 +0000

    Fix comment - xf86WcmInitalprivSize is actually xf86WcmInitialToolSize
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit afa06f3e7186aff4d0f104492a02c44f6132eaf8
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Tue Nov 24 20:50:39 2009 +0000

    Remove duplicate comment for xf86WcmRegisterX11Devices.
    
    This function still exists, a duplicate comment got accidentally added in
    425351f22821ade814f7f6412d18c1eb25904661.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9c6d34592f75602cfcfa6f61c631aa60d2ee5284
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 24 15:59:01 2009 +1000

    Reset local->private before calling xf86DeleteInput.
    
    If local->private is not NULL, then the server will attempt to free it. A
    rather bad idea if it's already been freed by the driver.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5efc1770a0039994d6ff111d2050bf0c1324b3b3
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Nov 23 12:07:03 2009 +1000

    Convert some serial error messages into warnings.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit eda948d9931aba1396419ec799a1654d20cd7898
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Nov 23 11:16:46 2009 +1000

    janitor: Remove commented out include directive.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8d9b358c2454cacbeabb00133af0ebe7bc9fa13f
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Nov 23 11:13:18 2009 +1000

    janitor: Fix indentation of a debug message.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5c39a35811eaa5232888aa55baf0a598933be610
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Nov 23 10:59:00 2009 +1000

    Only support baud rates 19200 and 38400 for ISDV4 devices.
    
    9600 is gone forever.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fefa70d932909f2bb7939e05275e30ac7ddba17f
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Nov 23 10:57:04 2009 +1000

    If the ioctl failed, return FALSE for xf86IsWacomDevice.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9e59900e6fbdc2899524ce258e694f25795d8539
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Nov 23 10:55:52 2009 +1000

    janitor: Leave loop early if we found a pos. result.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ec2db399def8336275ec12089a86599194667573
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Nov 23 10:54:25 2009 +1000

    fdi: compress all WACf0* devices into one.
    
    HAL's contains_outof does substring matching, WACf0 should be enough.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 68b5cd37f2269a398d95866a4d714c66a57c6b36
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Nov 23 08:33:32 2009 +1000

    fdi: compress the wacom tablet into the first condition.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9e714baf9b84f39eb95c51dda7885cff0afe2704
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 20 12:19:55 2009 +1000

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

commit 413d600b2fe7f19149ab4c008fa47f697de4895b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 20 09:34:10 2009 +1000

    Fix comment in configure.
    
    We need macros 1.3 for the XORG_DEFAULT_OPTIONS
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 11a79f35ef6d38860044caa36e9fee5de919d78c
Author: Przemo Firszt <przemo@firszt.eu>
Date:   Fri Nov 13 17:53:04 2009 +0000

    Remove duplicate of #include "xf86Wacom.h" and #include "wcmFilter.h"
    
    [squashed-in: removal of one more wcmFilter.h include directive]
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6b51249ad0dd39aa0c6b8ce87273ad2b3fd0cea8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 18 14:22:52 2009 +1000

    Purge driver-specific speed/accel.
    
    The server provides quite complex accel methods since 1.6, let's just use
    them instead of the accel provided in the driver (which happens to be a bit
    crude).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Ping Cheng <pinglinux@gmail.com>

commit ee4b4d3884f93a64941c313eff515f95757c4b96
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 18 16:05:06 2009 +1000

    Remove defines from the ghost of christmas past.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 522f578563bbff95a9597c1dcaad61d67ed0cd74
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 18 16:03:09 2009 +1000

    Remove REVISION HISTORY comments.
    
    That's what we have git log for.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2082ebcb1afe4a46ecc4ce3d34c5f4479ad1bcef
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 18 14:21:02 2009 +1000

    Fix long-standing typos in applying speed factors.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>

commit 7d51bf5a32d60b9a022daad5fd1d7868ac9aaee1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 18 11:07:55 2009 +1000

    Add GPL document to dist tarball.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b50d86ab73c59b34514165985784d07366aa0261
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 18 11:06:26 2009 +1000

    Remove spurious executable bits from source files.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d7dcb7d873c59d3603007565d073b70f04ecea53
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 11 14:31:57 2009 +1000

    Remove some if 0'd code.
    
    If a chunk of code has been "not quite ready for prime-time" for over 6
    years, it probably won't be anytime soon.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a34e42d7e640d2c3fa695a6eac905c0891375bc7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 12 16:26:13 2009 +1000

    If a device is specified, don't check for a wacom vendor id.
    
    Testing for the vendor ID is useful when using auto-dev probe (though it
    might return false negatives). If a user was capable enough to specify a
    device option, assume they know what they're doing and just try to init the
    device.
    
    This ensures that the wacom driver works against serial devices that don't
    return a vendor ID. And it ensures that the driver can be used with other
    tablets by different vendors but a similar behaviour.
    
    Reported-by: Thomas Jaeger
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 44d8d03e7ffac87a845fc53a28b935afc2247894
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Fri Nov 13 12:54:07 2009 -0800

    Remove a duplicated #ifdef in wcmValidateDevice.c
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 584131b9f6b86a0365663f4ae377cfb155bb5bb7
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Nov 12 20:37:28 2009 -0800

    This patch allows multiple tools of the same type to be defined for one device.
    
    It is a feature required to define multiple areas for the same physical tool
    or to distinguish the same type of tools with different serial numbers (for
    V5 devices).
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 183baf7a43c1d204401fd21eab7e6ae0b9078b6b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 13 08:35:02 2009 +1000

    Fix an error message to list the device name.
    
    (and add the vim tags to the new wcmValidateDevice)
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a493c5946174f018b6b8fdc312bd7eebc71944f2
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Wed Nov 11 21:10:55 2009 -0800

    retrieve all tool types from the kernel
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1dce369ffa34e07a88a87b681d904f0ebd8331f1
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Nov 10 21:46:08 2009 -0800

    Spin-off validatation from configuration.
    
    This patch also retrieves touch type from the kernel.
    
    Other types (stylus/eraser/cursor/pad) can use the same mechanism
    to retrieve type from kernel.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 96d28dbbe2bf90092c20a52aabdac728a8708e7b
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Nov 10 20:06:25 2009 -0800

    report device id for protocol 5 devices
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e3ed0639d3028ce0171b793a6227b4da40e8b2db
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Nov 10 20:01:25 2009 -0800

    process second finger touch data
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6bb186cb486310b3df687b549af13cde25684120
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Nov 10 19:54:41 2009 -0800

    share device size and resolution between penabled and touch of the same product ID
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 72647504a8f8468ed9b0bdd5743fa543043ff546
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 15:47:37 2009 +1000

    Add wacom-properties header file.

commit c8bfc5fc86b4cda953d63e31260ce84a0aed5b59
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 10 17:07:05 2009 +1000

    Add 0xFF product as catchall for unknown devices.
    
    If a device is not in the table of known product IDs, just try to init all 5
    possible devices;
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3684235b35897d41f3604c9677a4de2ae81f9be5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 10 16:51:57 2009 +1000

    Don't fail just because it's not a wacom tablet.
    
    Wacom is right now the best driver for touchscreens. Don't require the wacom
    vendor ID, we just don't get to get all the cool autosetup stuff.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 58aadf9bcab9414d25d49061144bcfdffb8f1a0f
Author: Thomas Jaeger <ThJaeger@gmail.com>
Date:   Sun Nov 8 12:49:02 2009 -0500

    Fix TPCButton option
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ad84294c55803fbb7c4074e88d257e0a7701f9d1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 13:55:45 2009 +1000

    Export tool type as Wacom Tool Type property.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 520f07032ac2f744c3e6d920f12df43671694ddb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 11:11:10 2009 +1000

    Remove "grabbed event device" log message.
    
    The default behaviour is to grab the device, we only need to know about it
    when it fails.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 60983f1ee56670096122bea376a0756a522ad1b6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 10:55:13 2009 +1000

    Move auto-dev probing checks into small static function
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 98bc71ad5083e97fa9da47519b25f2e35c5c8b18
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 10:51:01 2009 +1000

    Move the uniq assignment into wcmNeedAutoHotplug.

commit 88251543dd94cf237072322421255b156ed797dd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 10:35:47 2009 +1000

    Remove a needless call to xf86CheckStrOption
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2313e4ade726d81e5abd13fb868fbb4679140700
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 10:23:33 2009 +1000

    Remove log spamming debug message.
    
    The log already tells us when a module is unloaded.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a54fbd37fad90f06e31493a71c2c32d9b38f7f37
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 10:20:54 2009 +1000

    Rip most option parsing out of xf86WcmInit.
    
    xf86WcmInit is quite complicated already with hotplugging, etc. Rip the
    endless lines of option parsing out into a separate static function to help
    keeping an overview of xf86WcmInit.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit caeae6bf04cfc5dc8fef614143f7846819a69423
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 10:08:29 2009 +1000

    Remove some more useless defines.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ffc1137a79d77d5a5557bac138c7804e0a1409d1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 10:00:29 2009 +1000

    Remove Xfree86 4 serial wrapper defines
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5d89d256862e5cba64c1349899003021c2f359d0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 09:53:09 2009 +1000

    BaudRate only needs checking for ISDV4 devices.
    
    Remove BaudRate from default_options, supply as default to xf86SetIntOption
    instead - has the same effect.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d90519b2f95c5da17659a1efbd41f1a0039435bc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 09:49:56 2009 +1000

    vim tags for the coding style.
    
    Wacom uses a different style than evdev, synaptics and the server and I'm
    sick of having to manually change it each time I open a file.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ae6fa7e8da68e2e487da5ad84f9d924204a5e1d4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 09:49:23 2009 +1000

    Don't accept invalid Rotate and ForceDevice options.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 613d455c118b92ba784aff007df57bd6bac92196
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 6 09:14:29 2009 +1000

    Remove unecessary debug statements.
    
    Any option that is set by the user will show up in the log if
    xf86SetFooOption is used. All other options are built-in defaults.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit be806b5487db9c592366237a55651e53fe7d7c50
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 5 14:53:03 2009 +1000

    Support auto-hotplugging in the driver.
    
    If a device is added without the "Type" option set (a previously invalid
    configuration), it is assumed to be hotplugged. Check the list of known
    products for the supported tool types and init a new device for each tool
    type.
    
    All devices added as a group have a 'uniq' identifier (current timestamp).
    If the parent device is being removed, check for still-existing devices with
    the same uniq and remove those too.
    
    The server closes devices in-order, since the dependent devices are added
    before the parent, this is a noop during CloseDownDevices.
    
    The .fdi file doesn't to merge the type now.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e8e0011c31de0415aeff993c17424c9fd720d33f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 5 16:54:09 2009 +1000

    On unplug, remove the device from the commonWcmDevices list.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit dac8e0a108df0fb045dfda517f814fd37d5aa09e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 5 15:47:45 2009 +1000

    Abstract product lookup into a static function.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fd9230a2efcfd356690847ae543f336b6ab4c6d3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 5 14:59:03 2009 +1000

    Break out of the loop once we found a valid type.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c13d97b0de5acfcddcb378d117c8d7652e45d4e5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 5 11:52:57 2009 +1000

    Pass type into wcmIsAValidType.
    
    Spares the need to check the options twice for the type set.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d0c6c701a06bc6a43b37b84130603f6f553009fa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 5 15:45:55 2009 +1000

    Use ARRAY_SIZE macro instead of manual sizeof().
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 78499b39f6270f6e9e04d750575695e07224d32e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 5 11:09:59 2009 +1000

    Remove needless NULL checks before xfree.
    
    xfree handles NULL pointers fine.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 73e8d0640af9ec8fe587454c316e0426e418dc89
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 5 10:33:56 2009 +1000

    Don't overwrite the name with the XI type.
    
    Since the local device is now the actual device, not the fake local, we
    don't need to set the name here. Also, the name is the identifier, I don't
    know if it ever actually was used for the XI defined names (wich are the
    type_name instead).
    
    This has the potential to break clients that were looking for the "Wacom
    erasor" type name instead of the XI defined types ("ERASOR"). If so, a
    simple change fixes this.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit eda93933e1d0e2cc6a51968c02bfebc542fc88c3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 4 17:02:23 2009 +1000

    Remove fakeLocal init device.
    
    Instead of allocating a fake device at the top of init and then using this
    to check a few options, just allocate the device itself. If it fails, remove
    the device again.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 91ec102688fd5b041436224975c620dc25d9e5c9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Nov 5 10:18:55 2009 +1000

    Fix a comment
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c5d5b1e16272f5e330801241448c5e02ad01a89e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Nov 4 16:44:33 2009 +1000

    Move allocation of type out of xf86WcmInit
    
    No semantic change, just trying to reduce the xf86WcmInit a bit.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 23bbbfe09f502fdfa89a64d7e2cfca9299948731
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 3 16:23:45 2009 +1000

    Unify log messages to a common format.
    
    <device name>: blah blah
    with local->name used consistently as device name where applicable.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e4502dd8774ba43beeacbaa87499b1b08a244800
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 3 16:18:21 2009 +1000

    Localize lookup for other devices of the same device.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c5c8acd9d012c151a7d4919f5d1a941807c4c2cb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 3 16:03:53 2009 +1000

    Streamline xf86WcmAllocate a bit
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 506d8357f769a6fbc125899c433c7ea8cc92729f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 3 15:58:16 2009 +1000

    Don't cast xalloc returns.
    
    Not needed, we have void pointers these days.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 53de2f1a6d8fb6050d8ac2e238fd9fb07c754923
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 3 15:38:49 2009 +1000

    Abstract the vendor ID into a #define
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7587c95411cd41f3c63f8ed87f3832b79ba490e1
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sun Oct 25 21:03:59 2009 -0700

    Validate tool type before adding it
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ccbef11c5cb1e4426543a7d121de842c50d29fa1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 3 15:20:13 2009 +1000

    Silence compiler warnings if DEBUG is off.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d2c46348880b62a47fcad777cb7251866aa0900f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 3 16:47:22 2009 +1000

    Use the SYSCALL macro for opening the fd
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit af163fe3106c834418e772eb94a10a5d250950cf
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sun Oct 25 20:54:09 2009 -0700

    Avoid adding duplicated devices/tools from hotplugging
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 12cf6e8a97e6c1e02a77590b96da56ccc9f1d33b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 3 14:41:43 2009 +1000

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

commit 7fe803bef235516ac6778234768c5d3077a539a6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 28 15:47:18 2009 +1000

    Add --enable-debug to configure
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c79c899c9609faf3a0ab4828745114a8667432ef
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 30 16:07:33 2009 +1000

    Fix three typos in debug statements.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 41dc915563a453e2e35aef34dad8e8164d9e6699
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 30 16:06:30 2009 +1000

    Remove remainder of old XWACOM_PARAM code
    
    This code has been replaced by the properties.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 08a1149461794a4a35d93dc3093012ffe529cd8c
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Oct 29 22:28:16 2009 -0700

    Touch doesn't have pressure and distance
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 76bbaf6bb473e7194a5b096a078df76e52e4e587
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 28 15:51:06 2009 +1000

    Include config.h everywhere
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 61706e52b757582beebdc95fb9af35dfeec86f4d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 30 15:52:35 2009 +1000

    Use xf86Msg instead of ErrorF
    
    ErrorF() is the one used by the DIX, xf86Msg is the driver API.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 15ddfbac957d6e60b4a7c7cbd57495bfaf9d3bfa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 28 14:28:40 2009 +1000

    Remove identification string, use the package version instead.
    
    The default output for the driver loading is:
    
    (II) Module wacom: vendor="X.Org Foundation"
    	compiled for 1.6.99.901, module version = 0.9.1
    	Module class: X.Org XInput Driver
    	ABI class: X.Org XInput driver, version 7.0
    
    where the module version is now filled in by the package version set in
    configure. An extra identification string is superfluous.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 428fc3e3ceb7adab7da5f6ecff90849ef174013e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 28 13:41:48 2009 +1000

    Remove unused extern declaration
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 676b80bfe02a6447fe289d46c64ab4037b9c761b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 30 11:07:44 2009 +1000

    Add the sample fdi file.
    
    Distributions most likely want to fine-tune this fdi file and apply their
    custom configurations. For those building from source without the distro
    package installed, a sample FDI file helps to get the driver going.
    
    Taken from Fedora, but with the hal callouts removed. We're trying to fix
    this in another, more flexible and less HAL-dependent manner.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ae66fc0e2ec0afd4f8e376ba5c15dd3e93bfeb30
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 28 15:33:43 2009 +1000

    wcmUsb: use struct input_absinfo instead of an integer array.
    
    kernel 2.6.31 introduced a resolution field in the absinfo struct, thus the
    nValues[5] array wasn't large enough. This again leads to a memory overrun
    and random crashes on init.
    
    Instead of increasing nValues, replace it with input_absinfo which is the
    correct struct to pass in anyway. Do the same for the sID array (of type
    struct input_id).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a51f9e1872c1d564d11775dd3ad814aa38145ad2
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Oct 20 11:43:42 2009 -0700

    Add touch support to USB TabletPC's with touch feature Prepare for Two Finger Touch (2FG) support
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e39c346c84812df1eef1b3aa932718dea1dddf3a
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Oct 20 11:15:31 2009 -0700

    Clean up kernel 2.4 support debug logs and comments.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0b6891c4ed46882da46f6ee85eab9cf6f4a70942
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Sun Oct 18 16:06:33 2009 -0700

    Add backup (*~) and patch (*.patch) files to .gitignore
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 10e0036f5b398b08ddddcea1ace534e1188e1abe
Merge: afdf556 3718c60
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 14 10:51:29 2009 +1000

    Merge branch 'property-rework'

commit afdf5565895a4c340681e9dc48b63a390f8eba9d
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Oct 12 14:45:32 2009 -0700

    Fix a problem introduced by "Remove kernel 2.4 support" patch
    
    Brought the serial number if-clause back since the Intuos
    CintiqV5 series need serial numbers to distinguish
    tools and to keep 2 channels of records.
    
    Also added an else-statement to catch and discard the
    unexpected serial number equal zero case.
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 872b6a3f191a65a929d18f3ff9348ab27da67a76
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Oct 12 14:41:38 2009 -0700

    Update Authors for xf86-input-wacom
    
    Signed-off-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3718c605520fd1d992e0fdedbdc1136581b808e5
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Oct 13 09:07:00 2009 +1000

    Clean up more properties.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4fd2af39a5432eaad03af6a48cd16988a165fbbb
Author: Thomas Jaeger <ThJaeger@gmail.com>
Date:   Mon Oct 5 12:32:37 2009 -0400

    wcmTouch and wcmTPCButton should be distinct properties
    
    Expose wcmTouch as "Wacom Enable Touch" and !wcmTPCButton as
    "Wacom Hover Click".
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 14ded312e419ebd35ead237c25c6fbdd8ddb0639
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Oct 8 14:41:42 2009 +1000

    Whitespace fixes, shift back by 4
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c630873429e7dac0eafd3b966a0a515f861b7bb9
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Thu Oct 8 14:24:55 2009 +1000

    Add m4 to gitignore
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ebc81447dd251b401455768fe3d3a274ec9d58c0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Sep 28 16:42:12 2009 +1000

    Reduce the number of available properties and standardize the naming.
    
    Instead of a property per xsetwacom option, compress them into groups like
    "Wacom Area" (instead of TOPX, TOPY, BOTTOMX, BOTTOMY).
    Since this isn't handled quite as simply as looping over the params, there's
    a fair bit of moving code in this patch.
    
    TODO: some properties need the transition.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 72329bc103009bb84d574f57c3fac897f3c7fa77
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Sep 29 16:56:20 2009 +1000

    Remove XYDefault property - this can be implemented in policy.
    
    This option is from xsetwacom to reset the area to the defaults. For
    properties, we don't need an extra one, we can implement it as a policy if
    invalid ranges are given for the area.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit edbc0bfa2d434af21966716d07d1a65454313cf6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Sep 28 16:35:11 2009 +1000

    Remove NUMSCREEN property
    
    Querying the number of screens is not the driver's job.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4d84bf25a660c58795bbf4e4df86d855932c6405
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Sep 28 16:32:31 2009 +1000

    Remove STopN and SBottomN properties.
    
    According to http://linuxwacom.sourceforge.net/index.php/howto/all, these
    are parameters for xsetwacom to query the screen dimension. Not a property.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e40198019a3ffad1f0d77c3eb2fcae49343ea870
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Sep 28 16:21:16 2009 +1000

    Remove property for speed level and accel settings.
    
    We have sophisticated cursor accel in the server now, it is better to wean
    users off driver-specific accel methods and start using the server ones.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2a46c4719042257356c0aaa9e43c9d4e45126b33
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Sep 28 15:34:17 2009 +1000

    Remove debuglevel properties.
    
    Something like this should be a generic property for all drivers. Let's not
    set a precedence by having a wacom-specific one.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit dbca87114b4699c2db9046fb54d4af492004b6d4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Sep 28 15:33:15 2009 +1000

    Remove Mode property, this is still controlled through DeviceCtrls.
    
    A property like that should be in the DIX anyway, it applies to all devices.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 72815e638efe8176a2fd26b8af17f5a432b29b47
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Sep 25 16:30:38 2009 +1000

    Remove coreevents property - not the driver to decide
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f834202e64015a355ca85e87b409c38fdb24a4d4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Sep 25 16:28:35 2009 +1000

    Don't expose button mapping as multiple properties.
    
    Run-time button mapping should be handled in the server, not in the driver.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e0238a007d26ddc13ee9c3006d9be35ed336ab9b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Sep 28 15:41:56 2009 +1000

    man: comma-separate authors.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3c7961d18f44fc290b57f68c1c9be6168cb11ece
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Sep 28 15:35:22 2009 +1000

    man: fix two typos.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 61307141ea2796a99ebc59072e50f8c71943b145
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Sep 25 15:55:06 2009 +1000

    Bump to 0.9.1
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 83780b99919d5180deeac6e210a59acd7be30268
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Sep 25 16:03:48 2009 +1000

    Use xorg-macros 1.3 for XORG_DEFAULT_OPTIONS
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bc76d8fd9361637113865d94fb97596414206b7b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Sep 25 16:01:20 2009 +1000

    Remove the Changelog file, it's autogenerated
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b8a15ce6fa7157a6c1d565184c0e65ef91b3733e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 23 16:23:42 2009 +1000

    Don't load the kernel module from within the driver
    
    In the default configuration, we expect HAL to notice the kernel device,
    tell X about it, then X loads the driver which then tells the kernel to load
    the driver for the device that HAL will notice.
    
    Wait. what?
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c182aa1e14096ae3543f4095792bef00404ae7f5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 23 16:21:21 2009 +1000

    Remove kernel 2.4 support
    
    We only support X server >= 1.6, let's assume the userbase running 1.6 on
    kernel 2.4 is negligibly small.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 852c8db7d68ba43dd69e665563038d18ac7b0b48
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 23 15:56:08 2009 +1000

    Don't call DEVICE_OFF from Uninit.
    
    Once UnInit is called, the server has already called DEVICE_OFF for us.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b7cd27c45a56462e4aa87abe194ff370a47a0b6e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Sep 23 15:55:00 2009 +1000

    Remove erroneous comment about server >= 1.6 crashes.
    
    The server only crashes here if local->private is freed but not re-set to
    NULL.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b3cba4e3543a98103282ba8fa55bf38012d23d9f
Author: Thomas Jaeger <ThJaeger@gmail.com>
Date:   Sun Sep 20 20:24:57 2009 -0400

    Remove support for old serial devices
    
    Acked-by: Ping Cheng <pinglinux@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit df3c61392f82dac42a04aadc5ae79daff720d3c4
Author: Thomas Jaeger <ThJaeger@gmail.com>
Date:   Mon Sep 21 03:23:09 2009 -0400

    Read 8-bit and 16-bit properties correctly
    
    Signed-off-by: Thomas Jaeger <ThJaeger@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 92afc8cc94467dd83b5a58e752eeb72e5e91863a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Sep 17 15:43:31 2009 +1000

    Remove empty unused src/xdrv directory.

commit 212bd0e8d8f94c37521faa25bde71da22340ffb3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Aug 4 08:21:21 2009 +1000

    Fix up three remaining usages of MAX_BUTTONS.
    
    Reported-by: Ping Cheng
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e39ef59217ff608ebfad797074833d7b06dde92e
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Tue Aug 4 08:16:16 2009 +1000

    Add .gitignore file.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0983c3447fbe918a275eb98f46f666a631e56f79
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 3 15:22:10 2009 +1000

    Bump to 0.9.0.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 7d149431c63c43c0ab5b046387b565488ea3d159
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 3 15:19:24 2009 +1000

    Rename MAX_BUTTONS to WCM_MAX_BUTTONS.
    
    MAX_BUTTONS is used and exported by the server. It is also currently set to
    256 whereas the wacom driver's MAX_BUTTONS is 32 and used as a mask.
    Re-using MAX_BUTTONS from the server results in fake button presses when the
    mask overflows.
    A simple renaming adds some sort-of namespace and avoids this issue.
    
    Rename MAX_MOUSE_BUTTONS as well for consistency.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 802d5b8e181c3ba4e57732bf5d1c8c7de893dc93
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 3 15:02:01 2009 +1000

    ifdef out custom keysym handling for ABI_XINPUT_VERSION 5 and greater.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ab9f03ea439af8c5ffdbfb32d72aeb126bac2688
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 3 14:43:12 2009 +1000

    Initialize axis and button labels for XINPUT ABI 7.
    
    Button labels are currently just zeros and some axis labels are as well.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cccfe837c311010a47eeec9338283e69f6081de6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 3 14:10:13 2009 +1000

    Disable key strokes from the tablet.
    
    This needs a redesign, the bits it used to hook into are gone from the
    server.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2e01d5b83ae710c4dccfb5d79c7154c38419b9f3
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Aug 3 13:32:38 2009 +1000

    Purge old ABI support from the driver, add property support.
    
    This is unfortunately one giant commit. It removes support for pre 1.6
    servers and the various ifdef's around the code to protect against funkyness
    of the various X server versions.
    
    This patch also adds property support to the wacom driver.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6c5b33444b2e6d7acacaf200dbf7bafc676328cb
Author: Ping Cheng <pinglinux@gmail.com>
Date:   Mon Aug 3 13:15:47 2009 +1000

    Set up the default xf86-input-* directory structure, autotool.
    
    This version does not build as-is due to missing include files and headers
    that are about to be purged anyway.
    It does pass the autoconf stage.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0e7c5819592680b8f75e29ad3d97f85bf4fd8da0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 3 12:52:26 2009 +1000

    Purge all but the X driver from this repository.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3b90a8c834ebd15b8d3bdabe46497080d820ce23
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 3 13:00:07 2009 +1000

    Enable automake foreign to ignore NEWS, etc. files.

commit 6091ec388e9159c1390650e26091da3b1b2473bd
Author: pingc <pingc>
Date:   Thu Jul 30 21:39:34 2009 +0000

    Support non-TwinView Nvidia dual setup

commit d26f9dd44c53f3b27d6f3a9f3a20653d47fa1972
Author: pingc <pingc>
Date:   Sun Jun 28 17:21:05 2009 +0000

    Added kernel 2.6.31 support

commit a2fb5b0a64dfd51ff1978ebb047aa3608b8f1750
Author: pingc <pingc>
Date:   Sun Jun 28 17:06:57 2009 +0000

    Support kernel 2.6.31 and DTF720a

commit f9b0742fb5a577dc7e068559823c4d78ebb670b2
Author: pingc <pingc>
Date:   Fri May 22 20:15:14 2009 +0000

    Fixed a prox-out issue for menu strip in wacom_wac.c and updated --enable-quirk-tablet-rescale support.

commit fdcca1c356cc282e1243de8cd1b01ba8c29609ed
Author: pingc <pingc>
Date:   Mon May 4 18:25:04 2009 +0000

    Fixed a tool index bug in wacom_wac.c.

commit 5eac83094bd49a4da9f3dc97813a8346eb00915e
Author: pingc <pingc>
Date:   Tue Apr 28 22:08:40 2009 +0000

    added 60-wacom.rules to src/util for reference

commit 1aacbddfeb4042e20ccb8a8b7e4555d9b7899234
Author: pingc <pingc>
Date:   Mon Apr 27 21:30:41 2009 +0000

    Updated 2.6.28 support

commit 6be94eb174c67218bf4da496c9b6e4d1dc009117
Author: pingc <pingc>
Date:   Thu Apr 23 22:59:48 2009 +0000

    Updated wacomcpl

commit 4076f5b834f0e63b7c3310db516847573e98dc8f
Author: pingc <pingc>
Date:   Tue Apr 21 18:54:18 2009 +0000

    Removed NEWS and LGPL

commit 0fc5767e2cf19779d3a4e00153177ccba6fd11aa
Author: pingc <pingc>
Date:   Fri Apr 3 19:41:10 2009 +0000

    Added Matthew Garrett's hal-setup.patch

commit 55bd0be4a412f6bb73855f36d1c53a82bd47da5d
Author: pingc <pingc>
Date:   Fri Apr 3 19:30:13 2009 +0000

    Added kernel 2.6.28

commit 585e334fef932d72e5d13893d590128191fc7303
Author: pingc <pingc>
Date:   Thu Mar 26 22:48:18 2009 +0000

    Added Matthew Garrett's hal-setup.patch

commit 38482b322d3bd5fa262affa9a49b97c8beffceee
Author: pingc <pingc>
Date:   Wed Mar 25 23:30:48 2009 +0000

    Added support for Intuos4

commit 0778ceaef5de76cacdc537ff173f96c08aaac721
Author: pingc <pingc>
Date:   Wed Mar 25 23:21:26 2009 +0000

    added wcmTilt2Rotation.c and hal-setup-wacom.c

commit 1fd7177a0b075994eef9618f29eb03a3809708c7
Author: pingc <pingc>
Date:   Wed Mar 25 23:09:01 2009 +0000

    removed 2.4.x and 2.6.8

commit 1f732abe434d717d7b30d2aa6933ba85e310d711
Author: pingc <pingc>
Date:   Mon Jan 19 19:17:38 2009 +0000

    Fixed bug #2499414

commit 878a8cff4967d05748f4a786dbe2e7bdf59307e6
Author: pingc <pingc>
Date:   Tue Dec 30 22:04:02 2008 +0000

    Workaround for Xorg 1.6

commit 987fcf7c814bd60a981616d2ec3833f8d0c15ed9
Author: pingc <pingc>
Date:   Tue Dec 2 00:27:48 2008 +0000

    Workaround for Xorg 1.5

commit cf1959686dbf7e3aa1a52001bf7660fbe11ccbd5
Author: pingc <pingc>
Date:   Thu Oct 23 22:00:49 2008 +0000

    Added kernel 2.6.27 support

commit 9a414e1a3f095cfe5bc616c150241400d2dc7f51
Author: pingc <pingc>
Date:   Wed Oct 8 23:22:20 2008 +0000

    Updated wacomcpl and its related utilities

commit be9b22da0e932e4c433e6bf23aa37e14ecc7c7dc
Author: pingc <pingc>
Date:   Sun Aug 31 20:23:18 2008 +0000

    Added support for Bamboo1 Medium and Monarch

commit d808be5022778375831e9351242aaf282bdd559c
Author: pingc <pingc>
Date:   Tue Aug 12 19:37:59 2008 +0000

    Added support for serial capacitive TabletPC

commit d8142c4c2ebac44a8fb8159c69c564b7ee613e68
Author: pingc <pingc>
Date:   Fri Aug 1 20:16:31 2008 +0000

    Added support to kernel 2.6.26

commit 0d9ac7e31ab8fa3e2e4edc52665490ecb7649200
Author: pingc <pingc>
Date:   Fri Aug 1 20:12:15 2008 +0000

    Added support for 2.6.26

commit b9a62e8b72adde7e2bc605b03ddb8eb1ddece0e5
Author: pingc <pingc>
Date:   Mon Jul 21 20:56:08 2008 +0000

    Updated USB and serial TabletPC w/wo touch

commit e36b582824de6f9cb92844e282f7b3d6b9270853
Author: pingc <pingc>
Date:   Wed Jul 9 16:02:18 2008 +0000

    Support USB TabletPC w/wo touch

commit 1c9627cde6e853301a407903967d1f45db0f5513
Author: pingc <pingc>
Date:   Fri May 23 22:43:16 2008 +0000

    Updated configure.in

commit e7358ba15824d89e9b4915cb6e03e288c80b3cb9
Author: pingc <pingc>
Date:   Wed May 14 22:52:45 2008 +0000

    Fixed rotation issue

commit 258ba05e634843b13d2f9e1a792ca0c9ebc96ec2
Author: pingc <pingc>
Date:   Fri May 9 17:09:05 2008 +0000

    Fixed serial Tablet PC baudrate issue

commit 8783d82cc1ffecf43fca9495e477700cf1448aef
Author: pingc <pingc>
Date:   Sun Apr 27 02:30:19 2008 +0000

    Update HOWTO file

commit 5f4033c33451619fa361f5df51affa45641937f8
Author: pingc <pingc>
Date:   Fri Apr 25 20:08:30 2008 +0000

    Updated wacom.4x, wacomcpl, and wacomcfg.c

commit 5a64f27cb18dc17a1bed05bbf007e09acbed364e
Author: pingc <pingc>
Date:   Fri Apr 11 22:08:44 2008 +0000

    Minor fixes in wacomcpl and kernel

commit 70d3dd054e8702767089d1cf5d21ca4ed052ed39
Author: pingc <pingc>
Date:   Wed Apr 2 23:49:00 2008 +0000

    Minor fixes in wacomcpl and kernel

commit 425351f22821ade814f7f6412d18c1eb25904661
Author: pingc <pingc>
Date:   Mon Mar 31 21:41:44 2008 +0000

    Updated wacomcpl for keystrokes & added touch support for serial TabletPC

commit 28fe7ad4583c3d41ad5b196f73ef4b56f1a78c0f
Author: pingc <pingc>
Date:   Fri Feb 29 20:52:48 2008 +0000

    Support kernel 2.6.24

commit 4037d28c5a989e4225e8c03d3f6054719b7204eb
Author: pingc <pingc>
Date:   Fri Feb 29 20:49:24 2008 +0000

    Support Cintiq 20WSX

commit 883d6ad68d8591bba7fc1b46968ecf1f8b2e6dec
Author: pingc <pingc>
Date:   Tue Jan 22 19:26:10 2008 +0000

    Prepare for hot-plug support on Xorg 7.3

commit b15f8391dcecc3235a2f8048b1ffc38d64bda289
Author: pingc <pingc>
Date:   Thu Jan 10 01:41:58 2008 +0000

    Updated configure scripts for Xorg 7.3 support

commit fd096dab9c3dc345a1e1f24200bfb208fcfccf77
Author: pingc <pingc>
Date:   Thu Jan 3 19:11:07 2008 +0000

    Support Xorg 7.3

commit 984fc23eafa68b640cf4d80762aff794ba3c46cc
Author: pingc <pingc>
Date:   Thu Jan 3 18:36:24 2008 +0000

    Support Xorg 7.3

commit 635463a5246a16df6fd1d6b5d6070a5dc59a490d
Author: pingc <pingc>
Date:   Thu Jan 3 18:27:52 2008 +0000

    Clean support of outbound tracking for Bamboo

commit 50cb6085d0fbeb2f9e8d9796c0adb5d5631ea6d9
Author: pingc <pingc>
Date:   Fri Dec 14 00:56:11 2007 +0000

    Clean support of outbound tracking for Bamboo

commit 6e4606b1b969e4366c33e4319bb6e3cfd4c5c29e
Author: pingc <pingc>
Date:   Fri Nov 30 18:13:38 2007 +0000

    Added prebuilt path for beta release

commit 458bb854602cd80f061dc6858ce0b67f26728433
Author: pingc <pingc>
Date:   Fri Nov 30 01:04:59 2007 +0000

    Clean support of outbound tracking for Bamboo

commit ee7dec233c5fcc858a8d550d92af3496f1f8dd75
Author: pingc <pingc>
Date:   Fri Nov 30 00:57:52 2007 +0000

    Clean support of outbound tracking for Bamboo

commit 4d07e21841e26f5212917c7fad2b069df71232b0
Author: pingc <pingc>
Date:   Wed Nov 28 18:24:07 2007 +0000

    Merge patches 1818295, 1831998, and 1839008

commit 6f65a53cde6be39012e69546fdc44a7eb9ac9191
Author: pingc <pingc>
Date:   Mon Nov 12 19:32:43 2007 +0000

    Support BambooFun, Bamboo1, and Hummingbird

commit 16dc273e8b4317d5e40f8dcdcde57f3551284122
Author: pingc <pingc>
Date:   Mon Nov 12 19:31:30 2007 +0000

    *** empty log message ***

commit 759461199fc27e18a1a5e28ab99471a2fb6ea41d
Author: pingc <pingc>
Date:   Wed Oct 24 21:47:19 2007 +0000

    Support kernel 2.6.22

commit a919e1c958a30552ece299d375454315c5b2250b
Author: pingc <pingc>
Date:   Wed Oct 24 21:28:15 2007 +0000

    Support kernel 2.6.22

commit 7ce7bf1a735158f904493b9a896c24e2fd7c8cb4
Author: pingc <pingc>
Date:   Wed Oct 24 21:15:23 2007 +0000

    Fixed a few small bugs

commit bfd11d0c000bbe24030f1f8dfc26f2c242a74de1
Author: pingc <pingc>
Date:   Tue Aug 14 22:53:37 2007 +0000

    Fixed a few small bugs

commit 16e2da3dd5df14a26e75f91564e7ee98148f15e1
Author: pingc <pingc>
Date:   Tue Jul 24 21:18:40 2007 +0000

    Updated xsetwacom and wacomcpl

commit 22dacadcffade1f21ea8d1f2e18d8e55559b1224
Author: pingc <pingc>
Date:   Thu Jul 12 00:18:53 2007 +0000

    Fixed a button bug in 0.7.8.

commit 61d5330adc39ea26a2c56904bc87dc73ea87d484
Author: pingc <pingc>
Date:   Mon Jun 25 21:25:11 2007 +0000

    Added xsetwacom RawSample option and updated keystroke for absolute wheel and menu strip

commit 5c84d506a3602bbddc98eef1a2562ee5979d3dcc
Author: pingc <pingc>
Date:   Thu Jun 14 20:58:24 2007 +0000

    Added xsetwacom RawSample option and updated keystroke for absolute wheel and menu strip

commit 4b18ba7eb74cc3aaee92105408a86be029cc492a
Author: pingc <pingc>
Date:   Tue Jun 5 17:05:34 2007 +0000

    Updated xsetwacom suppress option and merged Ron's building patches

commit f191942ed3b74e5c8525a3e449396044de4a8f0a
Author: pingc <pingc>
Date:   Fri May 25 21:38:18 2007 +0000

    Added support to Bamboo and a few new xsetwacom options

commit 5fe054d18a53fca352dc6ee8622e835dbcbf2458
Author: pingc <pingc>
Date:   Fri May 25 20:05:23 2007 +0000

    Fixed xsetwacom and relative bugs

commit 65b904c492c0e919751a0d2a97803a2d7a4587f8
Author: pingc <pingc>
Date:   Mon Apr 30 23:29:27 2007 +0000

    Fixed xsetwacom and relative bugs

commit 2fe7d4bde4c99a5a91eab4f2eb15c412debb9993
Author: pingc <pingc>
Date:   Tue Apr 17 21:37:14 2007 +0000

    Updated xsetwacom and fixed bug 1675567

commit 63fb0ef1f39ce9d33e27ab3c3ca282528d2d7d34
Author: pingc <pingc>
Date:   Wed Mar 28 18:57:45 2007 +0000

    Updated xsetwacom and fixed bug 1675567

commit 088dab520184d7ef2179ee598109bf0346894be4
Author: pingc <pingc>
Date:   Wed Mar 21 21:13:40 2007 +0000

    Support dual Cintiq with TwinView setup

commit e7f6ded2edc063da66d6d9dcf608a88d8dbd42b4
Author: pingc <pingc>
Date:   Wed Feb 21 00:13:39 2007 +0000

    Support dual Cintiq with TwinView setup

commit 014342a319825a57020bd440b76bb9a76f7918d7
Author: pingc <pingc>
Date:   Fri Feb 16 22:06:15 2007 +0000

    Support 2.6.19

commit 5b03c1eae287f98410f86e05032cb4508473b893
Author: pingc <pingc>
Date:   Fri Feb 16 22:02:08 2007 +0000

    Support keystrokes

commit 164d65333078f353e15b2e21f055077472a3a20b
Author: pingc <pingc>
Date:   Sat Feb 3 00:11:18 2007 +0000

    Improved outbound tracking

commit 9023deacd1908809a52c09e5ac723be4bb338754
Author: pingc <pingc>
Date:   Tue Jan 30 00:10:49 2007 +0000

    Support multiarea and ThinkPad X60t

commit 07c7565a93b92d166fc0b5a48f758ebf46cdf5b3
Author: pingc <pingc>
Date:   Thu Jan 25 19:18:23 2007 +0000

    Added ThinkPad X60t

commit ccf5c34b9bf5c7c46f5e07a5573d10a54007f473
Author: pingc <pingc>
Date:   Thu Jan 25 01:27:28 2007 +0000

    Add new xsetwacom features

commit 7d275c9641049b601a8d2542e18463d2efeac798
Author: pingc <pingc>
Date:   Thu Jan 25 01:25:00 2007 +0000

    Add support for Thinkpad X60t

commit 9edbb4b41867f0b2eddbf229e78414f3e52e750e
Author: pingc <pingc>
Date:   Tue Jan 23 00:59:43 2007 +0000

    Updated configure string

commit a39619cdfa469ad189c49da4af2abeea1c32277b
Author: pingc <pingc>
Date:   Tue Jan 23 00:56:46 2007 +0000

    clean X driver code

commit 9920ac402067928c414a4aec7ee6efbe6857d069
Author: pingc <pingc>
Date:   Sat Jan 20 01:12:19 2007 +0000

    Split wacom.c

commit 94cca8438b9a4d2a42bcda9868c5b68426928171
Author: pingc <pingc>
Date:   Sat Jan 20 01:09:30 2007 +0000

    Fixed bugs in wacom_sys.c and multiarea support

commit ff4595036b04cda5fc1d5ff3986b28db15e73a82
Author: pingc <pingc>
Date:   Mon Jan 15 21:46:24 2007 +0000

    Fixed bugs in wacom_sys.c and multiarea support

commit 8d5b18e87378245b377a39dd6d81e4e8db54c4e2
Author: pingc <pingc>
Date:   Thu Jan 11 23:27:30 2007 +0000

    Incorporated patches 1630928, 1630926, and 1614296

commit e3a5a3acde5ffeaf3b8e74ed1e43d8cce3df15f5
Author: pingc <pingc>
Date:   Tue Jan 9 18:30:18 2007 +0000

    Removed 2.6.14/wacom.c

commit ab3b9a56651157034f46bed732beab0daf2d95da
Author: pingc <pingc>
Date:   Wed Dec 27 19:13:20 2006 +0000

    split wacom.c into 4 files

commit dd1c626c2da972115c05c785eb98ff56907fa113
Author: pingc <pingc>
Date:   Wed Dec 27 19:01:06 2006 +0000

    Incorporated Magnus Vigerlöf's patch

commit 84398848acc61f5fca46e0c3850f277546b8ff59
Author: pingc <pingc>
Date:   Mon Dec 11 19:53:06 2006 +0000

    Incorporated Magnus Vigerlöf's patch

commit a4f118a610c3294ea1533bf2643bb89b2092707c
Author: pingc <pingc>
Date:   Thu Nov 30 18:31:17 2006 +0000

    Fixed Relative Cursor force out-prox issue

commit d3d22533c6227a884a1865a4b636050f0e657f9f
Author: pingc <pingc>
Date:   Tue Nov 21 23:56:47 2006 +0000

    Split wacom.c into 4 files

commit 167ef19ee45d94a03987be94d98df74c1c392074
Author: pingc <pingc>
Date:   Tue Nov 21 23:44:28 2006 +0000

    Updated wacdump for TabletPC

commit a0d8478ff0046c1865ed55a14f2984dcc81e536c
Author: pingc <pingc>
Date:   Wed Nov 1 00:37:40 2006 +0000

    Updated wacdump for TabletPC

commit f276dee836863314271c7aa45bf0a7dbb558b0dd
Author: pingc <pingc>
Date:   Tue Oct 24 22:48:59 2006 +0000

    *** empty log message ***

commit 24a6ad6b290a90df843e825d776397d879e27946
Author: pingc <pingc>
Date:   Tue Oct 24 22:46:26 2006 +0000

    Updated wacdump for TabletPC

commit 0ca6cfbcb252c91b89bbf54972b0b821c0d6de0f
Author: pingc <pingc>
Date:   Tue Oct 24 20:12:05 2006 +0000

    Removed $Id lines in unchanged 2.4 kernel files

commit 84e374f0c5d00a710c57ded3cf05aa997277a907
Author: pingc <pingc>
Date:   Fri Oct 13 18:03:50 2006 +0000

    Release 0.7.6

commit c8b8455e6d71f999ae51d3b6f6f71b783e403112
Author: pingc <pingc>
Date:   Thu Oct 12 18:09:12 2006 +0000

    Release 0.7.5-4

commit 43cae5a89e9d5b32df463aca34cf49e3958a059c
Author: pingc <pingc>
Date:   Wed Sep 27 22:12:31 2006 +0000

    Release 0.7.5-4

commit 2496d7dd5c019f3cf692c943f7c83c8e9b9ba7aa
Author: pingc <pingc>
Date:   Thu Sep 14 23:12:01 2006 +0000

    Release 0.7.5-3

commit 1204c9ae9a1533cab57ae0375c11a3dbd9be8c53
Author: pingc <pingc>
Date:   Thu Sep 14 22:01:34 2006 +0000

    Release 0.7.5-3

commit 5322145739070906e72a91dc5ffd5a607d0bcf7c
Author: pingc <pingc>
Date:   Thu Sep 14 20:55:15 2006 +0000

    Release 0.7.5-3

commit 1fd8d0c79b118a30e802ae0fa389422d89ad3eba
Author: pingc <pingc>
Date:   Wed Sep 13 20:56:12 2006 +0000

    0.7.5-2

commit 377432da2abc73994d8680a5b7d45a6b5bad1ae6
Author: pingc <pingc>
Date:   Tue Sep 12 22:51:24 2006 +0000

    Free Device instead close it

commit 2dbb99e1ee8a65dfbb6da1b565e575b191d8ea75
Author: pingc <pingc>
Date:   Tue Sep 12 22:12:48 2006 +0000

    Fixed an initalization issue in X driver

commit d6ceb8b0c63f0c5052d2616ead1b8928701de432
Author: pingc <pingc>
Date:   Thu Sep 7 23:30:13 2006 +0000

    plug/unplug support for both XFree86 and Xorg

commit 32bd4c69f7a7bc1308fd0f3dfcffb803e4bc7a4c
Author: pingc <pingc>
Date:   Thu Aug 31 22:35:33 2006 +0000

    Reshaped the source tree

commit 42869f6e9fc2d82e4e0bf1d3a10b75ca49db2b73
Author: pingc <pingc>
Date:   Thu Aug 31 18:20:23 2006 +0000

    Keep Graphire4 naxes as 6 for now

commit 2a32e01ded808123670456aa474935cf116abc07
Author: pingc <pingc>
Date:   Thu Aug 31 00:21:36 2006 +0000

    Add all Wacom devices into hid_blacklist

commit fd299eec942ae5e30162de22a85ff646d0573263
Author: pingc <pingc>
Date:   Wed Aug 30 21:52:37 2006 +0000

    A typo in wcmUSB.c

commit a6097e15592b75a079e84dbbcef210ace6284215
Author: pingc <pingc>
Date:   Wed Aug 30 21:30:55 2006 +0000

    Fixed the pad initialization issue

commit d85c13f7778aa838f65ab8f21d7897c6fefbf37d
Author: pingc <pingc>
Date:   Tue Aug 29 00:20:49 2006 +0000

    Added Intuos3 4x6 support

commit cb5f66677dcd68e4c021d3cc48006a35377adec4
Author: pingc <pingc>
Date:   Mon Aug 28 20:05:43 2006 +0000

    A file name change for kernel version

commit 31f68105e73ccb43f970995b1c83d77fa45f5d12
Author: pingc <pingc>
Date:   Fri Aug 25 23:53:24 2006 +0000

    Fixed relative mode threshold check

commit d6dd988830fd2209ccdcb3c8bebbe04afd3b3e9c
Author: pingc <pingc>
Date:   Fri Aug 25 17:52:49 2006 +0000

    Check kernel version for 2.6.18

commit 57943f8cb9feefba00c1b1d89f9bb61d3e59e8a0
Author: pingc <pingc>
Date:   Fri Aug 25 00:24:58 2006 +0000

    Fixed a typo in wacom_sys.c

commit 756a47b212fd486e5ce3c260de801dec7bae5005
Author: pingc <pingc>
Date:   Wed Aug 23 20:46:06 2006 +0000

    Fixed a syntax in wacom_wac.c

commit 491763b07794bf1dafd59d1955389ed702fe1a3c
Author: pingc <pingc>
Date:   Wed Aug 23 00:55:45 2006 +0000

    Fixed a syntax error in configure.in

commit c436b886f3001eacbcdc3e03e0f99a0113897ea4
Author: pingc <pingc>
Date:   Wed Aug 23 00:30:56 2006 +0000

    Support on-fly rotate

commit 294c00f2844d429d9b167b4c043c5eb241bed63f
Author: pingc <pingc>
Date:   Mon Aug 21 23:40:32 2006 +0000

    Support 26.18 and specifiy tablet buttons

commit 991cdba085b86c8536362221ef59ec27ce85d9f5
Author: pingc <pingc>
Date:   Tue Aug 15 20:48:05 2006 +0000

    Updated configure.in

commit c5cbca7b1283ad897b1806e4fe6381a2c223d13d
Author: pingc <pingc>
Date:   Fri Aug 11 00:17:49 2006 +0000

    Backward tablet menu strip support

commit a11d351777f5ff31a9eb55e83cd4413c984516bc
Author: pingc <pingc>
Date:   Mon Aug 7 17:51:42 2006 +0000

    Added wcmFilter.h

commit 13d3ce794bd6d4ce63d8403069f3b1051b2dfa8e
Author: pingc <pingc>
Date:   Mon Aug 7 17:50:51 2006 +0000

    Updated wacomcpl

commit 2debfce6f9d6bfb206da2e1711d04f42cddd71e1
Author: pingc <pingc>
Date:   Mon Aug 7 17:18:19 2006 +0000

    Reshaped the source tree

commit b4c28e85d277f5aa3c468ae9a2aed945c86b29dd
Author: pingc <pingc>
Date:   Mon Jun 19 16:19:39 2006 +0000

    Fixed a Volito bug

commit b7b19ea55974e031824702c14ff9f961c89849d2
Author: pingc <pingc>
Date:   Mon Jun 19 16:09:06 2006 +0000

    Fixed a Volito bug

commit a2b19be24c5206fb56a4d28b2801dbda8ce5071f
Author: pingc <pingc>
Date:   Sat Jun 17 00:19:13 2006 +0000

    Ready to release 0.7.4-3

commit e2f285b09d8e536ba9d3a195c048a6e4c53324c3
Author: pingc <pingc>
Date:   Sat Jun 17 00:13:30 2006 +0000

    Ready to release 0.7.4-3

commit 0d9ed25a912fd63fa45158496b609c0fcc217974
Author: pingc <pingc>
Date:   Sat Jun 17 00:07:17 2006 +0000

    Remove  line in 2.4 kernel files

commit ce9368b96b673005ec3db673498c52636537550a
Author: pingc <pingc>
Date:   Sat Jun 17 00:01:58 2006 +0000

    Remove  line in 2.4 kernel files

commit b3aa8af79acf3451a91bc6c895d0e69101d3f0f9
Author: pingc <pingc>
Date:   Fri Jun 16 21:25:34 2006 +0000

    Fixed a Volito1 bug

commit 21ded9f0c3aa2dfe5e88ed3f8d9afde8ce601743
Author: pingc <pingc>
Date:   Thu May 25 21:27:28 2006 +0000

    Updated configure files

commit 59c53048a2bbe890e29ab7bfa8dc512e3c610372
Author: pingc <pingc>
Date:   Fri May 5 17:31:39 2006 +0000

    *** empty log message ***

commit 9d40acbbb96240612d86d6e55301967096fafde1
Author: pingc <pingc>
Date:   Fri May 5 17:21:55 2006 +0000

    Ready to release 0.7.4

commit 5dc452744428809f76e028bd651d015c3a6fc62f
Author: pingc <pingc>
Date:   Wed May 3 23:22:36 2006 +0000

    Removed older 2.6 kernels

commit efcc12bd4d5c8fd83b0bcfb78107a9e764baf842
Author: pingc <pingc>
Date:   Mon May 1 17:49:43 2006 +0000

    Support X.Org 7

commit b7049bfad7e7127b207383eb7a81d7f9803e9ccb
Author: pingc <pingc>
Date:   Thu Apr 6 18:16:23 2006 +0000

    Ready for 0.7.3-1

commit e94b059a7762c9d16c8686ce9fa9fb11ac49e0a4
Author: pingc <pingc>
Date:   Wed Apr 5 16:33:48 2006 +0000

    Supporting kernel 2.6.16. Updated mouse1 page

commit 850fcf743066491f1d77a76d3011e07ac4b282fb
Author: pingc <pingc>
Date:   Tue Mar 28 01:35:06 2006 +0000

    Updated wacom.c and wcmUSB.c

commit b1b7a0f2b9a4ba68413e006abf04bca410065d8a
Author: pingc <pingc>
Date:   Tue Mar 14 01:17:41 2006 +0000

    Ready to release 0.7.3

commit 638fd320b1bff6ca6c488291f572b780b543b23d
Author: pingc <pingc>
Date:   Tue Mar 7 00:29:03 2006 +0000

    Supporting tablet attach/detach while X driver running

commit 547f03523957bb59eff1a4ce87da6c9a71e29ce1
Author: pingc <pingc>
Date:   Mon Feb 27 21:52:39 2006 +0000

    Added 2..6.15 support

commit d7559ad5070812d196a30517a6989afaaba86d1f
Author: pingc <pingc>
Date:   Mon Feb 13 05:24:22 2006 +0000

    Added DTF 521, I3 12x12, and I3 12x19

commit b2b7582fff2ef5ba3fd6b81efef2406d2f534a94
Author: pingc <pingc>
Date:   Mon Jan 9 22:46:36 2006 +0000

    Updated webpages

commit 1e6d4d973b327c1e3a2458a793415048fbb669e9
Author: pingc <pingc>
Date:   Fri Dec 23 21:37:37 2005 +0000

    Update web pages

commit 48ca4cc9a92da694b4ec3bd0e9c0d46dad9b587b
Author: pingc <pingc>
Date:   Wed Dec 21 23:04:34 2005 +0000

    release 0.7.2

commit de3f0b95ad5ef555454ee2036effe21679951fda
Author: pingc <pingc>
Date:   Fri Dec 16 19:43:36 2005 +0000

    updated configure.in and acinclude.m

commit 0537f349ef0fd60e6f50018a9ea8cb8058a59c9a
Author: pingc <pingc>
Date:   Mon Dec 5 22:41:29 2005 +0000

    Changed AC_MSG_ERROR to AC_MSG_RESULT in acinclude.m4

commit fdb5ce078af32a5265b7d6347d25c7e7c2d40c15
Author: pingc <pingc>
Date:   Mon Dec 5 20:39:50 2005 +0000

    Fix a typo in acinclude.m4

commit 0b6ed0cf160ea6c44203746d57b18bbecc311b13
Author: pingc <pingc>
Date:   Mon Dec 5 19:27:55 2005 +0000

    updated acinclude.m4

commit d3844436fa8d7ef5f1bf41a6f923f8e8c42a89be
Author: pingc <pingc>
Date:   Mon Dec 5 17:55:10 2005 +0000

    updated configure.in

commit 6075eece15568f4e0b7208e721e50d8d2c5ef2c5
Author: pingc <pingc>
Date:   Sun Dec 4 23:46:09 2005 +0000

    updated configure.in

commit 301bed19844c59cd5c2450bfc496291eb50940bd
Author: pingc <pingc>
Date:   Fri Dec 2 20:29:47 2005 +0000

    Removed mousedev.c and usbmouse.c from src/2.6.x

commit 892b6746ab657e5d3ab246712641d11ba622db1a
Author: pingc <pingc>
Date:   Wed Nov 23 00:29:44 2005 +0000

    0.7.1-1 released and web scripts updated

commit 00f0a093bef1ffab52abedbc71ce44ce6ea31c21
Author: pingc <pingc>
Date:   Fri Nov 18 18:12:29 2005 +0000

    Fixed a wacomcpl and a wacom_drv.o bug

commit da4b82c4d2a9c0a186a42581cdf1aa9fc37b8759
Author: pingc <pingc>
Date:   Wed Nov 16 00:44:36 2005 +0000

    Updated wacomcpl, xsetwacom, and wacom.c

commit 29b522a1f419b410cb582455329498e0d7a64e17
Author: pingc <pingc>
Date:   Mon Nov 14 20:37:39 2005 +0000

    added k2.6.14 and reporttool id and serial number to Xinput

commit e9f3f4482daa11cd05604e013d68d7230c148fba
Author: pingc <pingc>
Date:   Thu Nov 3 01:14:42 2005 +0000

    Released 0.7.1 and updated web

commit 343eef7f50645f6eebe019dc21a20b81eca4f698
Author: pingc <pingc>
Date:   Wed Oct 26 00:36:47 2005 +0000

    updated wacdump and xidump

commit 9fadf910f39f4219184ace994abd69e715c76caa
Author: pingc <pingc>
Date:   Wed Oct 26 00:36:47 2005 +0000

    updated wacdump and xidump

commit a2aa2f257a8837fff1062c34074b1b97b6269d66
Author: pingc <pingc>
Date:   Thu Oct 20 23:03:38 2005 +0000

    Commit 2.6.13 code

commit f729cba1ec2b9993dbdde8790b0e33ed8a6c48ba
Author: pingc <pingc>
Date:   Thu Oct 20 22:56:01 2005 +0000

    Added 2.6.13

commit b02554b413af0443873b5429ebb156ed54bfb410
Author: pingc <pingc>
Date:   Mon Oct 10 19:25:32 2005 +0000

    Add Graphire4, DTF720 and DTU710

commit 7c7bac245ad054d808e74536264c3ccc1f493f50
Author: pingc <pingc>
Date:   Fri Sep 23 23:53:09 2005 +0000

    Updated website

commit 96c28e6c9d53d4ac5293606419ef075291339eac
Author: pingc <pingc>
Date:   Mon Sep 19 23:19:18 2005 +0000

    Fixed a serial Graphire bug

commit 077b10c7457b5fbfd7c9d1c862e2422ea133377e
Author: pingc <pingc>
Date:   Fri Sep 16 19:21:03 2005 +0000

    Reports USB tool ID

commit 81da644f03a9d1c46cc93205ba1016ea2def358e
Author: pingc <pingc>
Date:   Fri Sep 9 23:53:18 2005 +0000

    Supports 16 buttons for all tools

commit a16eadbc6a78c63bab3ca5e937b7eb9cc05bd9b7
Author: pingc <pingc>
Date:   Wed Sep 7 23:53:05 2005 +0000

    Messed ChangeLog last time

commit 84cdf45fc2bd281cc5446cba23b7654af6a16f16
Author: pingc <pingc>
Date:   Wed Sep 7 22:47:10 2005 +0000

    Updated wacdump and acinclude.m4

commit 5da0e68d596696e2d585cd5c55d3aab313851672
Author: pingc <pingc>
Date:   Wed Sep 7 17:53:15 2005 +0000

    Updated wacdump and acinclude.m4

commit 176cff822047f511a653125f919cd2e62f868ae2
Author: pingc <pingc>
Date:   Fri Aug 19 01:08:33 2005 +0000

    update ChangeLog

commit a8b8ab0e1d25ecb0cef480e61aa2912afe9e5c91
Author: pingc <pingc>
Date:   Thu Aug 18 18:50:30 2005 +0000

    added evdev.c for 2.4.30x86-64

commit cecfe281694d3895dfc4dbf0c0f660926a403197
Author: pingc <pingc>
Date:   Thu Aug 18 18:45:38 2005 +0000

    Updated wacomcpl and merged Volito2 & PL700 patches

commit d2ab386153d092dcaa96465af18e2598c45e6ba0
Author: pingc <pingc>
Date:   Wed Aug 10 19:05:21 2005 +0000

    Fixed a dlloader issue

commit df54a482af0e14ee4f27d062484aee7a9e9f1533
Author: pingc <pingc>
Date:   Mon Aug 8 20:53:27 2005 +0000

    Fixing Graphire bug and adding dlloader option

commit 00197f0e9a3da737225292ad9e2e6b546c7a3efe
Author: pingc <pingc>
Date:   Thu Jul 28 22:59:05 2005 +0000

    GTK configuration change

commit 4080136debeb8c58d8f768dbbb5cad00a1bcd2d6
Author: pingc <pingc>
Date:   Tue Jul 26 23:26:42 2005 +0000

    Fixed a serial P4 button switch bug

commit 9214262aab46015493368dc42744a69396dc0b4f
Author: pingc <pingc>
Date:   Wed Jul 20 21:45:04 2005 +0000

    Support x86-64 X server

commit 4d660b9fbe4dc306a61f06589260f0b299721b6e
Author: pingc <pingc>
Date:   Thu Jun 16 21:33:33 2005 +0000

    Removed some unavailable links

commit 3e60b14c779ab71f4abf7abf2228a697ff6e6e40
Author: pingc <pingc>
Date:   Thu Jun 16 17:04:08 2005 +0000

    Fixed a bug in configure.in

commit 451c941b2f97f8df2845bed4edd871ffcd560704
Author: pingc <pingc>
Date:   Wed Jun 15 23:17:58 2005 +0000

    Added 2.4.30x86-64 and updated website

commit c608561ac93135d7597d12261aa5ac3430078d6c
Author: pingc <pingc>
Date:   Wed Jun 15 17:19:43 2005 +0000

    Support tablet orentation rotation and x86-64 kernel

commit dea170059f7bfbd05e77f35bbcecd7c8803a89d0
Author: pingc <pingc>
Date:   Fri May 6 18:13:19 2005 +0000

    Released linuxwacom-0.6.8

commit 36745183a78e1e04a1e2a20f7080a584469e6e11
Author: pingc <pingc>
Date:   Mon Apr 25 19:02:37 2005 +0000

    Cleaned tablet mapping and resolutions

commit dbfb06686282a610e9609075947ba106441cf985
Author: pingc <pingc>
Date:   Mon Mar 28 23:09:59 2005 +0000

    Released linuxwacom-0.6.7

commit 01516e38f4e908ae1fb028d7fcbf604076a4fff3
Author: pingc <pingc>
Date:   Fri Mar 18 18:17:43 2005 +0000

    Added support to kernel 2.6.11

commit 2db6dfa8eaa277b65a65a8735410a0677e1b278f
Author: pingc <pingc>
Date:   Fri Mar 11 22:49:26 2005 +0000

    Added Cintiq 21UX support & updated 2.6.x/Makefile.in

commit 739066a4a08199f12e9af34fdac9d19f849f4804
Author: pingc <pingc>
Date:   Wed Mar 2 18:08:33 2005 +0000

    Somehow 2.6.10 removed in last commit

commit 574d6941f9ad52a299c7f77a477fc9696aca3b5b
Author: pingc <pingc>
Date:   Mon Feb 28 22:10:59 2005 +0000

    Fixed a Graphire/Volito button bug and added xserver64 option

commit 8b3339e45493253ce3485b28a8350fe755d2730d
Author: pingc <pingc>
Date:   Wed Feb 2 23:51:11 2005 +0000

    fixed 2.6.8/wacom.c and wcmSerial.c

commit a73d00b8357046151f86b142e1a747e586580b93
Author: pingc <pingc>
Date:   Thu Dec 2 00:36:11 2004 +0000

    Support kernel 2.6.10 & build driver locally

commit cc2ea36b59b6b3f0d84f489f58f3797abbc15edb
Author: pingc <pingc>
Date:   Sat Nov 6 04:55:02 2004 +0000

    Released 0.6.5 as beta

commit a751b3701050a0548dea5f39963e26e61088de83
Author: pingc <pingc>
Date:   Sun Oct 31 22:59:58 2004 +0000

    Added new branches for each kernel version

commit 6828fbf8a4a605b298be6c940423127752421549
Author: pingc <pingc>
Date:   Fri Oct 15 17:26:59 2004 +0000

    Fixed Intuos3 pressure bug in wacom.c

commit e41ce2e84faa928cd391bcab299aefac74ef9ff1
Author: pingc <pingc>
Date:   Thu Oct 7 18:36:35 2004 +0000

    Added Intuos3 support

commit d26dfd8d22239249ab7e53877d6b8adad54bcc01
Author: pingc <pingc>
Date:   Fri Aug 6 23:12:50 2004 +0000

    Updated website and released 0.6.4

commit 8d6866a837d2f79ac364582635a649fcc5c91cf3
Author: pingc <pingc>
Date:   Fri Aug 6 18:08:26 2004 +0000

    release 0.6.4

commit 8c32155832a083f2c04f9001983eaf37796d2b0d
Author: pingc <pingc>
Date:   Mon Jun 7 17:03:13 2004 +0000

    update prod, dev, and web

commit c0a29bed2b76db851a195c9cfa04ead095a61d61
Author: pingc <pingc>
Date:   Wed May 26 00:12:23 2004 +0000

    Modified wacomcpl defaults

commit 14a707efffc370aac872ac0122cddf246c446746
Author: pingc <pingc>
Date:   Tue May 25 17:26:12 2004 +0000

    Fix PressCurve for wacomcpl

commit 57ae8732a9a3add86b588d72677444d906f760ea
Author: pingc <pingc>
Date:   Mon May 24 21:22:25 2004 +0000

    Fixed wacomcpl-exec Feel window bug, support kernel 2.6.6

commit 946cb58c4c82c4f750f6a944b2e2d8cd2246d97d
Author: pingc <pingc>
Date:   Tue May 18 18:03:03 2004 +0000

    Fixed Relative speed and TPCButton bugs

commit aa037aa727b4b9916a4aafcf82f6a92e84a38a8f
Author: pingc <pingc>
Date:   Fri May 14 22:02:58 2004 +0000

    Bug fix and webpage update

commit 3620b7a937513d06490e62d586faa631979a8797
Author: pingc <pingc>
Date:   Fri Mar 12 01:08:04 2004 +0000

    Fixed DoubleSpeed and DoubleRadius issues

commit 4c2d30330a227ef138cb134304077d2c6ebab4c4
Author: pingc <pingc>
Date:   Fri Mar 5 21:22:43 2004 +0000

    Updated webpage for kernel 2.6

commit 35cde37b646441ea77abc21bdaf8a9cc1aec393c
Author: pingc <pingc>
Date:   Wed Mar 3 01:05:46 2004 +0000

    Support 2.6.2

commit 5ff3d4cf33075e44f41fb78d618750bf6d80f7bd
Author: pingc <pingc>
Date:   Wed Feb 25 18:33:08 2004 +0000

    Add Mode Toggle

commit f819f63eb9aa2b96bcb1740fd099c7b5e714c9a8
Author: pingc <pingc>
Date:   Sat Feb 7 01:01:14 2004 +0000

    Support kernel 2.4.24

commit b95f86083d590ffb42f33e0bc97aaf9726c64e88
Author: pingc <pingc>
Date:   Thu Feb 5 01:03:12 2004 +0000

    Released version 0.6.0

commit 34f7890324a99797afb6428e29db1e48d5a780ed
Author: pingc <pingc>
Date:   Mon Jan 19 22:16:13 2004 +0000

    Sync wacom.c and support 2.4.23

commit 79c09659d0986baac085fd763f1c7e2c47cb5ed6
Author: pingc <pingc>
Date:   Wed Jan 14 01:28:30 2004 +0000

    wacomcpl and wacom.c (k2.6) changes

commit 46a7d178c241330e26c993d54da62477c99fbfd8
Author: pingc <pingc>
Date:   Mon Dec 22 19:44:22 2003 +0000

    Redesigned wacomcpl

commit 955fef1b3e59726efdcc67218695b55590ae49ae
Author: pingc <pingc>
Date:   Fri Dec 19 00:55:30 2003 +0000

    Modified config and make strings

commit a8808b5eff08a19a502700ae168ce0b9e5bf5cc0
Author: pingc <pingc>
Date:   Thu Dec 18 00:09:19 2003 +0000

    Support Tablet PC in wacomcpl

commit 4c34105963287d217ddbd20f8c53b3a3c67e532b
Author: pingc <pingc>
Date:   Mon Dec 15 20:13:40 2003 +0000

    Bug fix for k2.6.0 support

commit 5f9b8fc72e59d719f6fa22ab4eee9ef88a71fe71
Author: pingc <pingc>
Date:   Wed Dec 10 01:13:43 2003 +0000

    Support kernel 2.6.0

commit df68c518131adf7d9173a894cf1231af6e06d549
Author: pingc <pingc>
Date:   Wed Nov 26 19:00:23 2003 +0000

    Modified installer

commit afed851d581700ec5781d7bad31e360521e8bc06
Author: pingc <pingc>
Date:   Tue Nov 18 19:38:41 2003 +0000

    Tablet PC general support

commit 27161f4d5739d19fe14ed545033365532653b329
Author: pingc <pingc>
Date:   Mon Nov 10 20:00:02 2003 +0000

    Created directories to ease ongoing kernel support

commit f0bb07c364ff531286885950df6fd6da83e91bd4
Author: pingc <pingc>
Date:   Mon Nov 10 18:46:35 2003 +0000

    *** empty log message ***

commit f5c7e4fccf8338042ee4358642eede46f6d6da5b
Author: pingc <pingc>
Date:   Thu Oct 9 23:36:07 2003 +0000

    Support kernel 2.4.22

commit 8084d4a7cda2d9a26cc10eee91c92359ab270369
Author: pingc <pingc>
Date:   Tue Sep 30 16:55:19 2003 +0000

    Fixed TwinView relative mapping error

commit 329178f48cf0a169b007e847949c9fd7e6747b9b
Author: pingc <pingc>
Date:   Wed Sep 24 23:43:24 2003 +0000

    Support different screen resolution in TwinView mode

commit 2e26854f97c193d74bdb7241cdb2259f01076b1e
Author: pingc <pingc>
Date:   Mon Sep 22 22:09:40 2003 +0000

    Support TwinView calibration and Screenno Option

commit f0b1f7c8cb1337102bfb554f9efe60fd1698140c
Author: pingc <pingc>
Date:   Wed Aug 13 22:31:09 2003 +0000

    Added new wacomcpl functions

commit a41fa7293692ac53a2800679997581101a5445d6
Author: pingc <pingc>
Date:   Thu Jul 31 23:00:30 2003 +0000

    wacomcpl Button and Mode support

commit 3db352b822ba82be84c0df76d48be5c85bfc96ec
Author: pingc <pingc>
Date:   Wed Jul 30 00:10:11 2003 +0000

    Fixed set mode value

commit 9d4c74a7fd07582320012006c652d5ea584042ef
Author: pingc <pingc>
Date:   Thu Jul 24 23:31:50 2003 +0000

    Added xsetwacom commands - Mode, SpeedLevel, and ClickForce

commit 52ea21640fcaa0c698d3f39ba518a85bd16195e7
Author: pingc <pingc>
Date:   Sat Jul 19 23:20:32 2003 +0000

    Fixed Intuos tilt filter

commit 73f82cb1cf1b7d552d7a97f039addf55ccfe32fa
Author: townsley <townsley>
Date:   Fri Jul 18 02:20:46 2003 +0000

    add button support for styluses with two side switches.

commit 4c98c902a2f43997e049882a1ded3c332444620b
Author: townsley <townsley>
Date:   Fri Jul 18 01:56:23 2003 +0000

    fix eraser selection.

commit dc0d76a30715ef5505a25a1143786cbb9a0e2aa0
Author: pingc <pingc>
Date:   Wed Jul 16 20:38:51 2003 +0000

    Added noise reducing filter and Improved USB relative movement

commit 7672cca061cadd93a16bc96c5f2e0554ccc1c1e0
Author: jjoganic <jjoganic>
Date:   Fri Jul 11 04:35:29 2003 +0000

    Updated release.

commit d1b8e8ad492b2ed30873e35d397d780751086f37
Author: jjoganic <jjoganic>
Date:   Fri Jul 11 04:33:44 2003 +0000

    Fixed date.

commit eb8eeee3a91da88dfdc760c81965fdb7aa640a51
Author: jjoganic <jjoganic>
Date:   Fri Jul 11 03:37:52 2003 +0000

    Fixed intuos filter, added pedantic to compiler options, minor warnings fixed.

commit 46a981bd15f25999acac7522e777bff7d59c5159
Author: pingc <pingc>
Date:   Mon Jul 7 21:24:15 2003 +0000

    Changed src/Makefile.am to support kernel 2.5

commit 042d685611f9504f16d1f7f27188e1b309423240
Author: pingc <pingc>
Date:   Wed Jun 25 18:34:10 2003 +0000

    Support TwinView setup

commit d17b6102664a9e211d371fcaf5910f27aa26dfa7
Author: jjoganic <jjoganic>
Date:   Thu Jun 19 15:49:19 2003 +0000

    Suppression value of 0 disables suppression.

commit 7c2aaef2f31b73ab0b41a93312f78de698976e55
Author: jjoganic <jjoganic>
Date:   Thu Jun 19 15:40:49 2003 +0000

    Added 0x47 to wcmUSB, updated version number.

commit 7ae94b2b29a3400eef9a172ecb21d7a710213e06
Author: jjoganic <jjoganic>
Date:   Thu Jun 19 15:37:23 2003 +0000

    Updated version numbers of 0x47 patch.

commit 8b767f4b216d48ddef7387bd69b7acd43f605eff
Author: jjoganic <jjoganic>
Date:   Thu Jun 19 15:28:44 2003 +0000

    Fix for Intuos2 6x8's reporting as 0x47.

commit e6d2e00da747956ee243d5198d79588b9c3d3e62
Author: jjoganic <jjoganic>
Date:   Tue Jun 17 16:16:46 2003 +0000

    Added xf86 version.

commit b76731af9fbd785b29253a043123fdd6760f2765
Author: jjoganic <jjoganic>
Date:   Tue Jun 17 02:08:31 2003 +0000

    Added mkxincludes, automatic configure for x-includes.

commit c8611fdbb2ddc1b3996192d4b88e69ec4bd75d83
Author: jjoganic <jjoganic>
Date:   Mon Jun 16 04:11:20 2003 +0000

    Updated versions.

commit 2ec5c22f1112912434c310a1258765c2bf401a71
Author: jjoganic <jjoganic>
Date:   Mon Jun 16 04:07:43 2003 +0000

    Distribution release 0.5.1-beta.

commit 1fe75a504210a67cb89fa02956e00767523a1516
Author: jjoganic <jjoganic>
Date:   Sun Jun 15 03:10:03 2003 +0000

    Intuos filtering enabled by default. Fixed APM restart problem.

commit 6868108bbc279c50ab7c934afa75741d679cf230
Author: jjoganic <jjoganic>
Date:   Sun Jun 15 00:56:18 2003 +0000

    Moved wacomxi, updated tcl and tk dep check, restored intuos filter

commit eeabc4314bd0c392a515483a0dcf4d6b55e89e04
Author: pingc <pingc>
Date:   Fri Jun 13 00:39:18 2003 +0000

    Added pkgIndex.tcl for wacomcpl

commit 299d9c35763fe1f2cfa8ed8d32d4c499464e2de2
Author: pingc <pingc>
Date:   Fri Jun 13 00:35:04 2003 +0000

    Changed wacomxi.so to libwacomxi.so for automake

commit 4b54ca479364220af344b0998950d0ad491936ec
Author: pingc <pingc>
Date:   Wed Jun 4 00:42:20 2003 +0000

    Added wacomxi.c, wacomxi.h and wacomcpl to project

commit 9b66e8a00ce4461d9d753be7caa55d4546cb11de
Author: pingc <pingc>
Date:   Wed Jun 4 00:35:35 2003 +0000

    Add wacomcpl - just a calibration utility at this moment

commit c376a5c1a6f3b9c18048fc1ca6f9ec3966290823
Author: jjoganic <jjoganic>
Date:   Fri May 16 04:24:40 2003 +0000

    Added timestamp to sample structure; xidump shows velocity and acceleration.

commit 6172c30dc15e1918fc3dc3dd493989ef7d2a4277
Author: pingc <pingc>
Date:   Tue May 13 00:15:06 2003 +0000

    Support relative wheel as 4/5 button and cleaned valuators for relative mode

commit 4a2ab077a79146d5a4ab8946976490c46b60fccd
Author: pingc <pingc>
Date:   Sat May 10 00:23:11 2003 +0000

    Added Cintiq Partner, G3, and a few xsetwacom commands

commit 4e3653ae8b040678856da70bb198380c8ef99cf6
Author: pingc <pingc>
Date:   Sat May 10 00:14:08 2003 +0000

    Added Cintiq Partner, G3, and a few xsetwacom commands

commit 673e6d883005c8683c361ddc9d1f1f90f16180e8
Author: jjoganic <jjoganic>
Date:   Mon May 5 06:20:40 2003 +0000

    Added raw filtering, overhauled device reading, various consolidations, and
    added historical states for error correction code.

commit 9a694eaa59d0326d5a96f1f3a1397f9de80885af
Author: jjoganic <jjoganic>
Date:   Sat May 3 09:35:14 2003 +0000

    Updated pressure curve; configurable pressure curve, debug level.

commit 17873f7968b59cb2f8e9a55fd7830e715559d52e
Author: jjoganic <jjoganic>
Date:   Sat May 3 04:23:04 2003 +0000

    Added xsetwacom and friends; configuration coming soon.

commit d561e186fb96db408cdb3e47a6687479635826af
Author: haoto <haoto>
Date:   Fri May 2 11:16:42 2003 +0000

    Cleanup; moved pressure button downstream, set-screen up; dx+dy suppression

commit 1fc354485bb188829fed2d75246b0cd2ce55840b
Author: jjoganic <jjoganic>
Date:   Fri May 2 00:38:58 2003 +0000

    Moved throttle check out of suppress; graphire wheel is relative.

commit 36ca239d6c64eff9435f4d0e8b436ed57fe1497d
Author: pingc <pingc>
Date:   Wed Apr 30 22:29:00 2003 +0000

    Add Button options and support sending data back to driver while system running

commit 72057fc3bd1d8ab6824b7af8c42e8d81a2f98ac8
Author: jjoganic <jjoganic>
Date:   Wed Apr 30 07:46:27 2003 +0000

    Added pressure curve.  Very tight.

commit ae379faf599f8750b031712d40008b80888565c8
Author: jjoganic <jjoganic>
Date:   Wed Apr 30 04:33:24 2003 +0000

    Split absolute and relative wheel values in early stage of data path.

commit e67e830f0471e660e00a0833a7f50af4e9a6f87e
Author: jjoganic <jjoganic>
Date:   Wed Apr 30 04:32:20 2003 +0000

    Split relative and absolute wheel value. Updated graphire parser.

commit 0664746c847314c9a299c0e6f0d12c4edd046684
Author: haoto <haoto>
Date:   Sat Apr 26 10:29:15 2003 +0000

    Fixed USB protocol 4 bustage.

commit 08f8f3662f81c29f47520f51d84e5c417f064c16
Author: pingc <pingc>
Date:   Mon Apr 21 23:15:44 2003 +0000

    Updated serial UD and PL support

commit 32190832bbc3208122c40c621ac0e30b358a0203
Author: pingc <pingc>
Date:   Mon Apr 21 23:09:20 2003 +0000

    Changed wcmSerial.c.

commit a96a10ad50ffc0b78c7fd87e77c2827f11382661
Author: haoto <haoto>
Date:   Fri Apr 18 16:47:26 2003 +0000

    fixed throttle code, slightly refined Xinerama code, dead screen area check

commit 2608d2b3c1b2e2bcdbe185aaba217e8f5926945a
Author: haoto <haoto>
Date:   Thu Apr 17 18:21:23 2003 +0000

    set screen only for core events; multi-screen keepshape; (temporarily) reenabled fake button 4/5; unified cursor acceleration.

commit e9fccad969c975faf73c1c672a095988d0af94d3
Author: haoto <haoto>
Date:   Wed Apr 16 18:45:26 2003 +0000

    Fixed USB protocol 4 devices broken by last change.

commit 8f168d6a8db1592177fbf96f5fd121b3e5cef8c3
Author: haoto <haoto>
Date:   Wed Apr 16 16:59:32 2003 +0000

    Software solution of dual channel input for USB devices.

commit 2273cd935ba9a2cfff8a23acab9f8e74664a1aa8
Author: haoto <haoto>
Date:   Wed Apr 16 14:07:43 2003 +0000

    Basic Xinerama support.

commit 9c061ad9fcec144fb2224a3b777d8abf55262ed6
Author: haoto <haoto>
Date:   Mon Apr 14 12:37:23 2003 +0000

    *** empty log message ***

commit 2497b894eb5f0a3bf05af619772a35d072781fd5
Author: haoto <haoto>
Date:   Mon Apr 14 12:31:52 2003 +0000

    Small KeepShape fix

commit 6b6df9eb11c8d75a71ef34dcd917211f35a7905b
Author: jjoganic <jjoganic>
Date:   Wed Apr 9 08:32:16 2003 +0000

    Removed extraneous device type flags.

commit 249e66b4272b81988933dd8e4c742aeabab5f30e
Author: jjoganic <jjoganic>
Date:   Wed Apr 9 08:27:43 2003 +0000

    raw throttle on 4, fixed serial 4d mouse rotation, threshold defaults.

commit 6fd7dee897a423703ff60891794a4a73db8a35f9
Author: jjoganic <jjoganic>
Date:   Wed Apr 9 07:00:30 2003 +0000

    Exploded out serial initialization, fixed USB tilt ranges.

commit f99fbe5a587488891a5e2d2eae88592c374e3f60
Author: jjoganic <jjoganic>
Date:   Wed Apr 9 02:06:00 2003 +0000

    Pulling initialization apart; please be patient.

commit 70c6b14450f5597f5438130e66ea189e98f00fc0
Author: jjoganic <jjoganic>
Date:   Tue Apr 8 07:20:46 2003 +0000

    Added channel code; device proximity bound to channel.

commit 7ae7f4d3114daba07974456d9f5acb82e5573b7a
Author: jjoganic <jjoganic>
Date:   Tue Apr 8 05:34:45 2003 +0000

    Updated pressure code, formalized data path, protocol4 still needs help.

commit 3481e8eb59a80777b75b0ece238375f0319051c5
Author: jjoganic <jjoganic>
Date:   Tue Apr 8 01:08:11 2003 +0000

    Added const restriction on data path.

commit ea48d0f809d877f8c64e30d11d19de11e6792fe1
Author: jjoganic <jjoganic>
Date:   Tue Apr 8 01:00:32 2003 +0000

    Moving functionality around.

commit 3c5b0389419a403a84f96efd451c072af5bc6abd
Author: jjoganic <jjoganic>
Date:   Mon Apr 7 22:40:22 2003 +0000

    Moving state pieces around... maybe broken, sorry.  Will fix soon.

commit ce61117962774045fda6901fc817cb2248e6b794
Author: jjoganic <jjoganic>
Date:   Mon Apr 7 19:22:10 2003 +0000

    Fixed bug in tilt filter.

commit ee4cace0f4fe40d80d6caf4151ccfcb90e7c788c
Author: jjoganic <jjoganic>
Date:   Mon Apr 7 18:26:27 2003 +0000

    Quick bug fix.

commit bc706c12d1306234869bd812aacc770e5db6cb1f
Author: haoto <haoto>
Date:   Mon Apr 7 14:55:54 2003 +0000

    Set resolutions for USB tablets.

commit 3fd1d8728b92cfb88269f2a7d8096f045831abe1
Author: jjoganic <jjoganic>
Date:   Mon Apr 7 08:20:39 2003 +0000

    Updated log entry.

commit dd7ca14595dba41458062254e75aa66c4f2c339f
Author: jjoganic <jjoganic>
Date:   Mon Apr 7 06:33:05 2003 +0000

    Refactored xf86Wacom.c.

commit bdbbe6daedf72a8c056d1207cbbf1fc2af46303f
Author: jjoganic <jjoganic>
Date:   Thu Apr 3 03:13:54 2003 +0000

    Added Jonathan Paisley's reattach patch to evdev.c

commit 6ab7cff8e8cd93203282c0cfce35d61fae5fd86c
Author: jjoganic <jjoganic>
Date:   Thu Apr 3 03:03:54 2003 +0000

    Added J. Yen's "misc fixes" patch to xf86Wacom.c

commit 9a25da393ea410facd5f96eb864c8192ab139c1f
Author: jjoganic <jjoganic>
Date:   Tue Apr 1 05:52:57 2003 +0000

    Added fix for mousedev.c

commit 163e287cdff696a1aaf6e22e0a8707d320659a03
Author: jjoganic <jjoganic>
Date:   Sun Mar 23 06:09:11 2003 +0000

    Merged Dean Townsley's ISDV4 patch.

commit 80d41e3ca955a5062de702791c467ac06dc4bf47
Author: jjoganic <jjoganic>
Date:   Sun Mar 23 05:56:42 2003 +0000

    Preparing updated 0.5 package.

commit aeda95cf693266a420875a8234def8359dcf3ac5
Author: jjoganic <jjoganic>
Date:   Sun Mar 23 05:56:06 2003 +0000

    Added xlib test.

commit f674ede38e6f308be4b33d2db82dc09b66c69f60
Author: jjoganic <jjoganic>
Date:   Sun Mar 23 05:54:42 2003 +0000

    Updated xidump.c

commit 6f5255a81bdd50eb871ab3ae3e2b269739b3a079
Author: jjoganic <jjoganic>
Date:   Sat Mar 22 23:54:47 2003 +0000

    Added ncurses detection.

commit 3cd882e951424d30b98543bb85fe1ddcd6722d3a
Author: jjoganic <jjoganic>
Date:   Sun Mar 9 07:04:56 2003 +0000

    Adjusted valuator ranges for z-rot.

commit 7c7a9c7375310477d26f4adb8bd556dd7b255b50
Author: jjoganic <jjoganic>
Date:   Sun Mar 9 05:52:36 2003 +0000

    xidump now builds by default

commit 9ccfd5151ade65fca1af6365b53978bfe2be7683
Author: jjoganic <jjoganic>
Date:   Sun Mar 9 05:41:54 2003 +0000

    Added curses functionality to xidump.c

commit 5cc26895689ef103b9c8baca312591cc7025af12
Author: jjoganic <jjoganic>
Date:   Sat Mar 8 08:42:10 2003 +0000

    Added events.

commit 0fade22cf44de8624073b252e3b30ba32b4c95ea
Author: jjoganic <jjoganic>
Date:   Sat Mar 8 03:59:09 2003 +0000

    Added class info to device list.

commit 5ef805aa40705bea7d51e3f585ceca7e46b38d37
Author: jjoganic <jjoganic>
Date:   Sat Mar 8 01:09:27 2003 +0000

    Gets device- need window and grab.

commit 90d1c2009182c5042e1313d2b928ea087f125081
Author: jjoganic <jjoganic>
Date:   Fri Mar 7 23:35:39 2003 +0000

    Added device list capability to xidump.c

commit 16d4d29c678a3515ed688dba4d8e19d59652446a
Author: jjoganic <jjoganic>
Date:   Fri Mar 7 22:21:37 2003 +0000

    Added tabletdev.c framework.

commit 0a463cacfe14356777f1e094527419f674501f88
Author: jjoganic <jjoganic>
Date:   Fri Mar 7 06:26:37 2003 +0000

    Added input.c to project.

commit 7ab8acf6011496cf6323cfd8350c13df8bef2624
Author: jjoganic <jjoganic>
Date:   Fri Mar 7 05:24:42 2003 +0000

    Added evdev.c and Jonathan Paisley's oops patch.

commit 83420572b306a3584e920d91945894518f058539
Author: jjoganic <jjoganic>
Date:   Fri Mar 7 04:21:31 2003 +0000

    Added xidump.c

commit 08dcb8e0c2b818c4b53d2e8b08c2210e9e2fef86
Author: jjoganic <jjoganic>
Date:   Fri Mar 7 04:15:22 2003 +0000

    Applied Ping Cheng's suppress patch.

commit fb1e79cb7aec11faa5b5e25c19b20c6eaac81b8b
Author: jjoganic <jjoganic>
Date:   Sun Feb 23 06:56:57 2003 +0000

    Updated version number.

commit 2a053aa62fcb4cdcf1b7c0c37d8a7dc8df8e9a4c
Author: jjoganic <jjoganic>
Date:   Sun Feb 23 05:01:50 2003 +0000

    Added J. Yen's origin patch.

commit bb7584421590f0478861d923d9f8a3f3c439df9c
Author: jjoganic <jjoganic>
Date:   Sun Feb 23 04:53:55 2003 +0000

    Multi-monitor patch; XFree86 v3.x build options.

commit 3c06228e166931eedea3e42f79c590e490a895fb
Author: jjoganic <jjoganic>
Date:   Thu Feb 13 01:35:57 2003 +0000

    Updated changelog.

commit 4b905d9259bb213d257b3dd0c6380f734c08c22e
Author: jjoganic <jjoganic>
Date:   Thu Feb 13 01:34:21 2003 +0000

    Updated patch and documentation.

commit 845f2d0c8b9aa40a587473dbf2e1acd953c7986c
Author: jjoganic <jjoganic>
Date:   Wed Feb 12 20:05:54 2003 +0000

    Added version option and fixed usage.

commit a9c8114e3bd36fad78eef2661ca7d1a8da4f1011
Author: jjoganic <jjoganic>
Date:   Wed Feb 12 17:52:52 2003 +0000

    Applied patches for PL and USB.

commit c1619ec02e0c542231a14a7b4c6e12a6e1a0318c
Author: jjoganic <jjoganic>
Date:   Sat Feb 1 06:25:42 2003 +0000

    Fixed serial number code.

commit 865915dcb358c6294318de1bc083d40a5e0c8a4d
Author: jjoganic <jjoganic>
Date:   Sat Feb 1 05:19:22 2003 +0000

    Adding Ping Cheng's PL code.  Swapped perror for SerialLog in wacserial.c.

commit 8250a2528f1516e2ca4aa468b12d941bb3192571
Author: jjoganic <jjoganic>
Date:   Sat Feb 1 03:34:48 2003 +0000

    Fixes delay in launching X when a tablet is configured in XF86Config but
    not plugged in.

commit f42c87580dd121cbb944e7b67886a7f2626c8f0f
Author: jjoganic <jjoganic>
Date:   Sat Feb 1 02:42:32 2003 +0000

    Updated for new release.

commit 1658af81a0a08eec0ac169e948652d39e73c879c
Author: jjoganic <jjoganic>
Date:   Sat Feb 1 01:59:01 2003 +0000

    Fixed function prototype.

commit bfc68acbca01fcdbaef6da450c408e59a0d8b487
Author: jjoganic <jjoganic>
Date:   Tue Jan 28 03:05:14 2003 +0000

    Added logging, timeouts, and serial reset on bit errors.

commit b12611e2d51517f8835a363fa339749bb14b9486
Author: jjoganic <jjoganic>
Date:   Tue Jan 28 00:04:21 2003 +0000

    Added timeout for reset and tablet detection in wacserial.c

commit df8cda42a9eaf4f19aad5568b5bdf0387b330bbf
Author: jjoganic <jjoganic>
Date:   Mon Jan 27 23:26:48 2003 +0000

    Changed macros from WAC_ to WCM_ to solve bug in Mandrake 9's autoconf.

commit 94cd3b31ed4a46a3084110439bdbda77cc79029a
Author: jjoganic <jjoganic>
Date:   Mon Jan 27 23:19:07 2003 +0000

    Added missing file, as well as documentation.

commit 433bd2c4a6330110eb020c2c2e5df37fa960f6a3
Author: jjoganic <jjoganic>
Date:   Mon Jan 27 06:53:14 2003 +0000

    Fixed Acer C100 model name and description.

commit 65522f525f01cb6bb1d05b6c1d76f608d3250c14
Author: jjoganic <jjoganic>
Date:   Mon Jan 27 06:32:59 2003 +0000

    Merged Dean Townsley's patch.  Added device detection structures.

commit b6b72c0f0ae0392973501c5f4f9524231bea49b2
Author: jjoganic <jjoganic>
Date:   Sun Jan 26 05:38:23 2003 +0000

    Updated version, added macros for pre 2.4.5 kernel build.

commit a49f1a8458ea431b88633b06f45c517024128115
Author: jjoganic <jjoganic>
Date:   Sun Jan 26 05:28:20 2003 +0000

    Moved USB code to new file.  Linux-specific stuff isolated.

commit c0a093d29e1c89430ad4944212cb7d4bc838d0f3
Author: jjoganic <jjoganic>
Date:   Thu Jan 16 18:12:55 2003 +0000

    Added fix for Madrake's .o.gz modules in configure.

commit 65f0e2cc70053289aa48841cf18f68fbeb639ec5
Author: jjoganic <jjoganic>
Date:   Thu Jan 16 18:08:06 2003 +0000

    Removed dependency on text document.

commit 332aa5b949e12c165716f0ce004ac14d87955939
Author: jjoganic <jjoganic>
Date:   Fri Jan 10 23:05:08 2003 +0000

    Updated graphire macros.

commit fafe87883437e99da012c3efff07f35aa3e5073b
Author: jjoganic <jjoganic>
Date:   Fri Jan 10 01:41:24 2003 +0000

    Updated Intuos and Intuos2 sizes.

commit c6115b436739f1c3c04f00c7e122b139d2e99ca2
Author: jjoganic <jjoganic>
Date:   Fri Jan 10 01:17:20 2003 +0000

    Added patch for HID_QUIRK.

commit 8e353dbf4d3193d2ff5ec1f5c2483211e97f3439
Author: jjoganic <jjoganic>
Date:   Thu Jan 9 23:36:01 2003 +0000

    Added no-merge-constants patch, fixed I2 4x5 Ymax.

commit 2c49cd3148f1e7b0a2bee0a557aa23eab872c0d0
Author: jjoganic <jjoganic>
Date:   Tue Jan 7 04:16:48 2003 +0000

    Text document contains too many html-artifacts; removing for sanity sake.

commit 423755ff82c4a99984d256ce9aa4d83ae1f41147
Author: jjoganic <jjoganic>
Date:   Tue Jan 7 04:12:21 2003 +0000

    Updated for new release.

commit 322e67c910008d28fb0037afe2ca7836d9f313b5
Author: jjoganic <jjoganic>
Date:   Tue Jan 7 03:57:20 2003 +0000

    Added volito to hid-core.c

commit a12ac480b25fe9a2210e65bc7febbb00d4b4d996
Author: jjoganic <jjoganic>
Date:   Tue Jan 7 03:44:06 2003 +0000

    Unknown reports now info, not err.  Updated version numbers.

commit f634cc4c46d2be7f5c6309c00efbeb229bbbb454
Author: jjoganic <jjoganic>
Date:   Thu Jan 2 03:27:32 2003 +0000

    2D mouse buttons fixed in xf86Wacom.c serial.

commit 7e1e4c6f7be928d9fa1a27ffd0d956af889a2ef3
Author: jjoganic <jjoganic>
Date:   Thu Jan 2 02:55:22 2003 +0000

    Added penpartner and graphire.

commit e2063d328fdbdfe701a7ac22234a7ec92376e687
Author: jjoganic <jjoganic>
Date:   Thu Jan 2 02:19:39 2003 +0000

    Fix to volito range.  Updated wacdump refresh.

commit 8ba73f5029f09d384030c32097c009a969c835ae
Author: jjoganic <jjoganic>
Date:   Wed Jan 1 02:02:43 2003 +0000

    Automatic module loading for wacom and evdev for usb.

commit 70e4ea36fda06ef197f06b119ec005e2f123be3d
Author: jjoganic <jjoganic>
Date:   Wed Jan 1 01:59:54 2003 +0000

    Fix for unknown report #1 using kernel thread.

commit eb42de7b257ad25753a356007ec2a6fc401e6e7c
Author: jjoganic <jjoganic>
Date:   Wed Jan 1 00:54:17 2003 +0000

    Added Ping Cheng's new tool IDs.

commit a1e3b7128a56b530cc0f11f9f15a51fa5cbbcc82
Author: jjoganic <jjoganic>
Date:   Fri Dec 27 15:46:08 2002 +0000

    Added test client code.

commit 9d41e18c129678ba5f6dc3d330fb032bc46efc75
Author: jjoganic <jjoganic>
Date:   Fri Dec 27 05:33:52 2002 +0000

    Added module loading for wacom and evdev.

commit 1b14fe5644ec70c936f30ffc0341b9b4712c927d
Author: jjoganic <jjoganic>
Date:   Thu Dec 26 19:28:09 2002 +0000

    Fixed tablet initialization.

commit ba23e0362c2fd1aa72bea910812382d2bb9ed229
Author: jjoganic <jjoganic>
Date:   Mon Dec 23 02:44:28 2002 +0000

    Initial revision
