[Linuxwacom-devel] [PATCH RESEND 2/2] centralize setting default values to single place

2010-02-14 Thread chris
From: Chris Bagwell 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 --- src/wcmConfig.c

[Linuxwacom-devel] [PATCH RESEND 1/2] Find tablet_id earlier in init sequence.

2010-02-14 Thread chris
From: Chris Bagwell 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 qeury and store the tablet_id at same time that we are discoverying its other featur

[Linuxwacom-devel] [PATCH 2/2] centralize setting default values to single place

2010-02-17 Thread chris
From: Chris Bagwell Setting relative mode default for bamboo was delayed only because common->tablet_id wasn't available early enough. Now that its value is around, move setting default values to single location. Signed-off-by: Chris Bagwell --- src/wcmConfig.c

[Linuxwacom-devel] [PATCH 1/3] Remove user setting of MaxX/MaxY/MaxZ in xorg.conf.

2010-02-23 Thread chris
From: Chris Bagwell 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 t

[Linuxwacom-devel] [PATCH 2/3] remove unused wcmUserResolv* variables.

2010-02-23 Thread chris
From: Chris Bagwell Cleanup. Variables not referenced by any real code. Signed-off-by: Chris Bagwell --- src/wcmValidateDevice.c |6 -- src/xf86WacomDefs.h |6 -- 2 files changed, 0 insertions(+), 12 deletions(-) diff --git a/src/wcmValidateDevice.c b/src

[Linuxwacom-devel] [PATCH 0/3] MaxX/Y/Z cleanups

2010-02-23 Thread chris
From: Chris Bagwell The following set of patches was result from attempting to port new code in linuxwacom-0.8.5-10 in wcmCommon.c's xf86WcmMatchDevice(). That new logic was duplicating logic already in usbWcmGetRanges()'s and seemed a bad way to solve the issue. The first 2 p

[Linuxwacom-devel] [PATCH 3/3] Fix usbGetRanges() for any load order of touch/pad

2010-02-23 Thread chris
From: Chris Bagwell 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 run

[Linuxwacom-devel] [PATCH 3/3] Fix usbGetRanges() for any load order of touch/pad

2010-03-04 Thread chris
From: Chris Bagwell 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 run

[Linuxwacom-devel] [PATCH] Replacement patch for lost kernel events

2010-03-08 Thread chris
From: Chris Bagwell The following patch is meant as a replacement to my previous patch to overcome lost events when 2 fingers had same X/Y/PRESSURE values between them. This uses standard kernel solution that I somehow missed while previously reviewing input layer (MT = Multi-Touch!) This

[Linuxwacom-devel] [PATCH] use kernel multi-touch input for bamboo touches

2010-03-08 Thread chris
From: Chris Bagwell Bamboo P&T code supports multi-touch but is using the standard input driver's ABS_X/Y/PRESSURE which filters duplicate events since it does not know they are unrelated. Its also using Wacom-specific "serial channels" concept to inform X driver which finger

[Linuxwacom-devel] [PATCH] optionally support multi-touch input interface

2010-03-09 Thread chris
From: Chris Bagwell The wacom kernel driver will eventually move to use the linux input multi-touch interface to return multi-touch finger data to wacom X driver. If multi-touch events are received, this patch disables old way of splitting up finger data based on BTN_TOOL_DOUBLETAP and

[Linuxwacom-devel] [PATCH] use kernel multi-touch input for bamboo touches

2010-03-09 Thread chris
From: Chris Bagwell Bamboo P&T/Tablet PC code supports multi-touch but is using the standard input driver's ABS_X/Y/PRESSURE which filters duplicate events since it does not know they are unrelated. Its also using Wacom-specific "serial channels" concept to inform X dri

[Linuxwacom-devel] [PATCH] use input layer's multi-touch interface

2010-03-10 Thread chris
From: Chris Bagwell Bamboo P&T/Tablet PC code supports multi-touch but is using the standard input driver's ABS_X/Y/PRESSURE which filters duplicate events since it does not know they are unrelated. Its also using Wacom-specific "serial channels" concept to inform X dri

[Linuxwacom-devel] [PATCH] Do not send button presses for touchpads.

2010-03-18 Thread chris
From: Chris Bagwell 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 de

[Linuxwacom-devel] [PATCH] Enable dual input for V4 devices (Bamboo P&T & TPC)

2010-06-01 Thread chris
From: Chris Bagwell usbChooseChannel() supported in most cases 1 input and 1 pad to be concurrently in proximity. DUALINPUT V5 devices (Intuos 1 & 2) could handle a combination 2 inputs and 1 pad, up to max of 2 in proximity at 1 time though. This change ports over an update from linuxwaco

[Linuxwacom-devel] [PATCH 4/4] Fix Bamboo touchpad "freeze" issue.

2010-09-06 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH 3/4] Partial support for Bamboo Touch MT-style interface.

2010-09-06 Thread chris
From: Chris Bagwell 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 data. This change allows touchpad t

[Linuxwacom-devel] [PATCH 1/4] Refactor usbParseChannel.

2010-09-06 Thread chris
From: Chris Bagwell 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 increa

[Linuxwacom-devel] [PATCH 2/4] Allow valid case of 2 events per sync windows

2010-09-06 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH 0/4] Initial support for Bamboo Touch MT

2010-09-06 Thread chris
From: Chris Bagwell This series of patches gets ready for fully support of Bamboo Touch kernel interface that uses MT events. It is also backwards compatible with current linuxwacom Bamboo Pen&Touch kernel drivers and Tablet PC's. This could easily be extended to work with any other

[Linuxwacom-devel] [PATCH 0/2] Updated Bamboo Touchpad patches

2010-10-13 Thread chris
From: Chris Bagwell This series of patches incorporate Peter's comments on previous patch set. No change in functionality. Just use enums for better readability and document in src what protocols really mean. Chris Bagwell (2): Use enums for defining protocol used. Partial suppor

[Linuxwacom-devel] [PATCH 1/2] Use enums for defining protocol used.

2010-10-13 Thread chris
From: Chris Bagwell 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 doc

[Linuxwacom-devel] [PATCH 2/2] Partial support for Bamboo Touch MT-style interface.

2010-10-13 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH 0/5] Add pad button support with new Bamboo driver

2010-10-17 Thread chris
From: Chris Bagwell This patch series compliments previous commited series which allowed touchpad-like devices to be controlled xf86-input-wacom; namely the Bamboo MT drivers that are queued up linux-input branch. The commited branches did not support tablet pad button presses while a touch

[Linuxwacom-devel] [PATCH 1/5] Refactor channel selection logic

2010-10-17 Thread chris
From: Chris Bagwell 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 (wcmParseChannel()) since its more related to that logic th

[Linuxwacom-devel] [PATCH 4/5] Increase MAX_CHANNELS to 3 to handle Bamboo's max.

2010-10-17 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH 2/5] Centralize validating of event queue sizes.

2010-10-17 Thread chris
From: Chris Bagwell Changed !type check to type == EV_SYN to make it clear what its doing. Signed-off-by: Chris Bagwell --- src/wcmUSB.c | 12 +++- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/wcmUSB.c b/src/wcmUSB.c index eb4778e..131627c 100644 --- a/src

[Linuxwacom-devel] [PATCH 3/5] document special logic done while going in-prox

2010-10-17 Thread chris
From: Chris Bagwell There is an implied agreement between kernel drivers and user land to work around event filtering issues. Document our current approach. Also add some notes on issues/bugs that need to be addressed in future patches. Signed-off-by: Chris Bagwell --- src/wcmUSB.c | 35

[Linuxwacom-devel] [PATCH 5/5] Support tablet buttons without serial #'s.

2010-10-17 Thread chris
From: Chris Bagwell 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. Simple/Generic tablets and touch pads will send button presses associated with

[Linuxwacom-devel] [PATCH RFC 0/4] Filter test patch series

2010-10-18 Thread chris
From: Chris Bagwell I would apreciate if people could test these patches in real drawing applications and see if they notice any negative affects. Also, I'd appreciate any review comments over them. These are currently just to test some basic ideas to improve filtering logic. Patch #3 doe

[Linuxwacom-devel] [PATCH RFC 2/4] Remove unused filter variables.

2010-10-18 Thread chris
From: Chris Bagwell Signed-off-by: Chris Bagwell --- src/wcmFilter.c |2 -- src/xf86WacomDefs.h |2 -- 2 files changed, 0 insertions(+), 4 deletions(-) diff --git a/src/wcmFilter.c b/src/wcmFilter.c index a7a6281..e7e341d 100644 --- a/src/wcmFilter.c +++ b/src/wcmFilter.c @@ -93,8

[Linuxwacom-devel] [PATCH RFC 3/4] Do not buffer raw samples when nothing changes

2010-10-18 Thread chris
From: Chris Bagwell We only filter X/Y values and when unrelated events such as pressure come in it can cause us to dump older values and can show up as cursor movements if those older values had large deltas. Allow older behavior though after a holdoff time period since the longer between

[Linuxwacom-devel] [PATCH RFC 4/4] Use dynamic window size for filter averaging

2010-10-18 Thread chris
From: Chris Bagwell The more time that passes, the less meaning that previous samples have to current sample. Make window size shrink as more time occurs since last sample received. Old filter average would introduce a offset error when deltas between older samples was large (when drawing fast

[Linuxwacom-devel] [PATCH RFC 1/4] push storing of raw samples into wcmFilter file

2010-10-18 Thread chris
From: Chris Bagwell This helps abstract out filtering better but also helps trying out custom filters as well (such as only storing raw changes when something changes). Mainly, intent is to refactor and keep previous behavior but two changes did occur. 1) Stop executing filtering logic while

[Linuxwacom-devel] [PATCH v2 4/5] Increase MAX_CHANNELS to 3 to handle Bamboo's max.

2010-10-20 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH v2 2/5] Centralize validating of event queue sizes.

2010-10-20 Thread chris
From: Chris Bagwell Changed !type check to type == EV_SYN to make it clear what its doing. Signed-off-by: Chris Bagwell Reviewed by: Ping Cheng --- src/wcmUSB.c | 12 +++- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/wcmUSB.c b/src/wcmUSB.c index 77236c4

[Linuxwacom-devel] [PATCH v2 0/5] Add pad button support for new Bamboo driver

2010-10-20 Thread chris
From: Chris Bagwell Resend of patch series with following changes from review comments: Patch #1 - Rename function based on review comments. Patch #3 - Based on Ping's review comments, better reworded comments and changed TODO's to show the issues are really with non-wacom Tablets w

[Linuxwacom-devel] [PATCH v2 5/5] Support tablet buttons without serial #'s.

2010-10-20 Thread chris
From: Chris Bagwell 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. Simple/Generic tablets (non-wacom) and touchpads will send button presses

[Linuxwacom-devel] [PATCH v2 1/5] Refactor channel selection logic

2010-10-20 Thread chris
From: Chris Bagwell 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 (wcmParseChannel()) since its more related to that logic th

[Linuxwacom-devel] [PATCH v2 3/5] document special logic done while going in-prox

2010-10-20 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH v3 2/6] Centralize validating of event queue sizes.

2010-10-24 Thread chris
From: Chris Bagwell Changed !type check to type == EV_SYN to make it clear what its doing. Signed-off-by: Chris Bagwell Reviewed by: Ping Cheng --- src/wcmUSB.c | 12 +++- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/wcmUSB.c b/src/wcmUSB.c index 77236c4

[Linuxwacom-devel] [PATCH v3 0/6] Add pad button support for new Bamboo MT drivers

2010-10-24 Thread chris
From: Chris Bagwell status summary: Need sign offs for patches #3, #5, and #6 before committing. Changes since v2 include: Fixed commit comment typos in patch #1 as pointed out by Ping. Split v2 patch #5 into two patches (5 and 6 now). The logic to only call wcmEvent when valid events

[Linuxwacom-devel] [PATCH v3 5/6] Only call wcmEvent() if valid event received.

2010-10-24 Thread chris
From: Chris Bagwell Signed-off-by: Chris Bagwell --- src/wcmUSB.c | 33 + 1 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/wcmUSB.c b/src/wcmUSB.c index eed755e..5fa3067 100644 --- a/src/wcmUSB.c +++ b/src/wcmUSB.c @@ -950,9 +950,11

[Linuxwacom-devel] [PATCH v3 4/6] Increase MAX_CHANNELS to 3 to handle Bamboo's max.

2010-10-24 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH v3 1/6] Refactor channel selection logic

2010-10-24 Thread chris
From: Chris Bagwell 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 th

[Linuxwacom-devel] [PATCH v3 3/6] document special logic done while going in-prox

2010-10-24 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH v3 6/6] Support tablet buttons without serial #'s.

2010-10-24 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH 2/5] Reset filter window when entering proximity

2010-10-26 Thread chris
From: Chris Bagwell 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 --- src/wcmCommon.c | 16 +++- 1 files changed, 7 insertions(+), 9 deletions(-) diff --

[Linuxwacom-devel] [PATCH 4/5] Ignore events that occur while out of proximity.

2010-10-26 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH 3/5] Removed unused filter variables.

2010-10-26 Thread chris
From: Chris Bagwell Signed-off-by: Chris Bagwell --- src/wcmCommon.c |2 -- src/xf86WacomDefs.h |2 -- 2 files changed, 0 insertions(+), 4 deletions(-) diff --git a/src/wcmCommon.c b/src/wcmCommon.c index 14f8f92..f68bc8b 100644 --- a/src/wcmCommon.c +++ b/src/wcmCommon.c

[Linuxwacom-devel] [PATCH 1/5] No need to filter X/Y values when out-of-prox

2010-10-26 Thread chris
From: Chris Bagwell Signed-off-by: Chris Bagwell --- src/wcmCommon.c |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/src/wcmCommon.c b/src/wcmCommon.c index cd550ea..f77cad7 100644 --- a/src/wcmCommon.c +++ b/src/wcmCommon.c @@ -968,7 +968,9 @@ void wcmEvent

[Linuxwacom-devel] [PATCH 0/5] Cleanup of filter logic

2010-10-26 Thread chris
From: Chris Bagwell This series of patches doesn't result in any visible differences. Well, it maybe fixes some theoritical cursor jumps when entering proximity because we left in old values in averaging window but I've not personally reproduced those jumps. It is meant to get better

[Linuxwacom-devel] [PATCH 5/5] move storing of raw samples into wcmFilter filer

2010-10-26 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH] Enable 2nd touch for newer Bamboo MT driver

2010-10-31 Thread chris
From: Chris Bagwell 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/TRIP

[Linuxwacom-devel] [PATCH 3/3] Enable 2nd touch for newer Bamboo MT driver

2010-11-04 Thread chris
From: Chris Bagwell 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/TRIP

[Linuxwacom-devel] [PATCH 2/3] Use self describing logic for generic touchpad btns

2010-11-04 Thread chris
From: Chris Bagwell 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 Ba

[Linuxwacom-devel] [PATCH 0/3] Cleanup and MT support

2010-11-04 Thread chris
From: Chris Bagwell First two patches are cleanups based on feedback on mailing list. Last one is resend of MT support. This version has change such that it will only compile in MT support if you have 2.3.36+ kernel headers in /usr/include/linux or have somehow added a -I/path to find those

[Linuxwacom-devel] [PATCH 1/3] Detect generic tablets with BTN_TOOL_FINGER.

2010-11-04 Thread chris
From: Chris Bagwell Change logic from using BTN_TOUCH as indication of touchpad tool events to instead use BTN_TOOL_FINGER. Both ways work for touchpads but basing it on tool indication is much more in the tablet spirit. Signed-off-by: Chris Bagwell --- src/wcmUSB.c | 31

[Linuxwacom-devel] [PATCH 6/6] Ignore return code from filter calls

2010-11-14 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH 4/6] Ignore events that occur while out of proximity.

2010-11-14 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH 1/6] No need to filter X/Y values when out-of-prox

2010-11-14 Thread chris
From: Chris Bagwell Signed-off-by: Chris Bagwell --- src/wcmCommon.c |4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/src/wcmCommon.c b/src/wcmCommon.c index cd550ea..f77cad7 100644 --- a/src/wcmCommon.c +++ b/src/wcmCommon.c @@ -968,7 +968,9 @@ void wcmEvent

[Linuxwacom-devel] [PATCH 0/6] Cleanup of filter logic

2010-11-14 Thread chris
From: Chris Bagwell This is a resend of patches. I've added a 6th patch based on Ping's feedback. It removes some dead code to reduce confusion reading filter logic. Text from original send: This series of patches doesn't result in any visible differences. Well, it m

[Linuxwacom-devel] [PATCH 2/6] Reset filter window when entering proximity

2010-11-14 Thread chris
From: Chris Bagwell 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 --- src/wcmCommon.c | 16 +++- 1 files changed, 7 insertions(+), 9 deletions(-) diff --

[Linuxwacom-devel] [PATCH 3/6] Removed unused filter variables.

2010-11-14 Thread chris
From: Chris Bagwell Signed-off-by: Chris Bagwell --- src/wcmCommon.c |2 -- src/xf86WacomDefs.h |2 -- 2 files changed, 0 insertions(+), 4 deletions(-) diff --git a/src/wcmCommon.c b/src/wcmCommon.c index 14f8f92..f68bc8b 100644 --- a/src/wcmCommon.c +++ b/src/wcmCommon.c

[Linuxwacom-devel] [PATCH 5/6] move storing of raw samples into wcmFilter filer

2010-11-14 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH] Clarify comment for touchpad and tablet detection.

2010-11-14 Thread chris
From: Chris Bagwell Signed-off-by: Chris Bagwell --- src/wcmUSB.c | 16 ++-- 1 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/wcmUSB.c b/src/wcmUSB.c index 4d8a0fb..eb4d592 100644 --- a/src/wcmUSB.c +++ b/src/wcmUSB.c @@ -929,12 +929,16 @@ static int

[Linuxwacom-devel] [PATCH] Use single filter routine for all tools.

2010-11-18 Thread chris
From: Chris Bagwell The two filter routines were doing exact same math. The only different is some devices needed to filter tilt X/Y values in addition to standard X/Y. Storing of raw samples had already been converted to detect tilt generically. Now Convert filter routine to detect

[Linuxwacom-devel] [PATCH 4/4] Revert part of BTN_TOOL_FINGER removal.

2010-11-21 Thread chris
From: Chris Bagwell 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 --- src/wcmUSB.c |7 +-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/wcmUSB.c b/src

[Linuxwacom-devel] [PATCH 3/4] Add missing MT Bamboo Touch buttons

2010-11-21 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH 1/4] Set maximum tool button count to correct values

2010-11-21 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH 2/4] set npadkeys correctly for touchpads

2010-11-21 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH] Enable 2nd touch for newer Bamboo MT driver

2010-11-22 Thread chris
From: Chris Bagwell 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/TRIP

[Linuxwacom-devel] [PATCH 2/3] Make npoints really track samples in filter window.

2010-11-23 Thread chris
From: Chris Bagwell 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 --- src/wcmFilter.c |2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git

[Linuxwacom-devel] [PATCH 1/3] Stop resetting filter window each sample processed.

2010-11-23 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH 0/3] Filter updates

2010-11-23 Thread chris
From: Chris Bagwell 1st patch is a high priority fix to filtering logic. I had mistakenly caused filter window size to be 1 sample. Good news is tablets seem to produce good samples so not extremely noticable. Bad news is you can see jitter when drawing fast circles. The last patch is an

[Linuxwacom-devel] [PATCH 3/3] Use single filter routine for all tools.

2010-11-23 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH] Enable 2nd touch for newer Bamboo MT driver

2010-12-19 Thread chris
From: Chris Bagwell 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 d

[Linuxwacom-devel] [PATCH] Enable 2nd touch for newer Bamboo MT driver

2010-12-20 Thread chris
From: Chris Bagwell 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 d

[Linuxwacom-devel] [PATCH v2] Enable 2nd touch for newer Bamboo MT driver

2010-12-20 Thread chris
From: Chris Bagwell 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 d

[Linuxwacom-devel] [PATCH] Use previous tools values when switching tools.

2010-12-20 Thread chris
From: Chris Bagwell Kernel side input event filtering forces user land to track previous tools values when switching to new tools. Sending new-but-duplicate values for new tool would cause confusion. At one time, all wacom's sent zero values when going out of proximity which allowed xf86-

[Linuxwacom-devel] [PATCH v3] Enable 2nd touch for newer Bamboo MT driver

2010-12-20 Thread chris
From: Chris Bagwell 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 d

[Linuxwacom-devel] [PATCH 1/2] Set touch/gesture properties using features

2010-12-28 Thread chris
From: Chris Bagwell Since wcmKeys can have double meanings (MT Bamboo), switch to tablet featues. Signed-off-by: Chris Bagwell --- src/wcmValidateDevice.c |7 --- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/wcmValidateDevice.c b/src/wcmValidateDevice.c index

[Linuxwacom-devel] [PATCH 0/2] Generic Touch detection

2010-12-28 Thread chris
From: Chris Bagwell These patches were inspired by yet another new Bamboo being discussed and the trouble users where having patching xf86-input-wacom to get touch feature working. First patch fixes existing issue with MT Bamboo driver were we were not defaulting to same values as Protocol 4

[Linuxwacom-devel] [PATCH 2/2] set 1FGT/2FGT based on wcmKeys instead of hardcode

2010-12-28 Thread chris
From: Chris Bagwell BTN_TOOL_FINGER/DOUBLETAP/TRIPLETAP have incompatible meanings between generic and protocol 4/5 devices. Add logic to give rough value of wcmProtocolLevel when probing wcmKeys (can't tell difference between 4 and 5 which is OK at this level). Use this rough value to ge

[Linuxwacom-devel] [PATCH v2 1/2] Set touch/gesture properties using features

2010-12-31 Thread chris
From: Chris Bagwell Since wcmKeys can have double meanings (MT Bamboo), switch to tablet featues. Signed-off-by: Chris Bagwell --- src/wcmValidateDevice.c |7 --- 1 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/wcmValidateDevice.c b/src/wcmValidateDevice.c index

[Linuxwacom-devel] [PATCH v2 0/2] Generic Touch detection

2010-12-31 Thread chris
From: Chris Bagwell These patches were inspired by yet another new Bamboo being discussed and the trouble users where having patching xf86-input-wacom to get touch feature working. First patch fixes existing issue with MT Bamboo driver were we were not defaulting to same values as Protocol 4

[Linuxwacom-devel] [PATCH v2 2/2] set 1FGT/2FGT based on wcmKeys instead of ID

2010-12-31 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH v2 2/2] fix logic detecting ABS_MT_SLOT

2010-12-31 Thread chris
From: Chris Bagwell 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 --- src/wcmUSB.c |2 +- 1 files changed, 1 insertions(+), 1

[Linuxwacom-devel] [PATCH v2 0/2] Use previous tools values

2010-12-31 Thread chris
From: Chris Bagwell This is second version of patch to allow using previous tools event values and get rid of memset(). This patch continues to do memset() for protocol 5 devices because of their complexities and it keeps PAD device isolated for protocol 4 and generic. Because of how MT events

[Linuxwacom-devel] [PATCH v2 1/2] Use previous tools values when switching tools.

2010-12-31 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH v3 3/3] fix logic detecting ABS_MT_SLOT

2011-01-09 Thread chris
From: Chris Bagwell 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 Acked-by: Ping Cheng --- src/wcmUSB.c |2 +- 1 files changed

[Linuxwacom-devel] [PATCH v3 2/3] Use previous tools values when switching tools.

2011-01-09 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH v3 0/3] use previous tool values when switching tools

2011-01-09 Thread chris
From: Chris Bagwell This patch series is to address Peter's comments. Since only minor change to 1 if() statement, I went ahead and put in Ping's Ack's. Please yell if need to remove. * Broke PAD_CHANNEL to its own patch. * Swapped order of if() as requested by Peter. *

[Linuxwacom-devel] [PATCH v3 1/3] add PAD_CHANNEL for when PAD channel is hard code

2011-01-09 Thread chris
From: Chris Bagwell Protocol 4 and Generic hard code PAD device to use only last channel. Create #define for this case to improve readability. --- src/wcmUSB.c|4 ++-- src/xf86WacomDefs.h |1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/wcmUSB.c b/src

[Linuxwacom-devel] [PATCH 1/4] Init device_type during ABS_MT_TRACKING_ID

2011-01-11 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH 4/4] delete unneeded code in wcmVirtualTabletSize

2011-01-11 Thread chris
From: Chris Bagwell Signed-off-by: Chris Bagwell --- src/xf86Wacom.c |7 --- 1 files changed, 0 insertions(+), 7 deletions(-) diff --git a/src/xf86Wacom.c b/src/xf86Wacom.c index 5be8409..078a488 100644 --- a/src/xf86Wacom.c +++ b/src/xf86Wacom.c @@ -209,13 +209,6 @@ void

[Linuxwacom-devel] [PATCH 0/4] Initial fixes for Bamboo regressions

2011-01-11 Thread chris
From: Chris Bagwell This patch series almost fixes all the recent regressions that made Bamboo touchpad stot working. I still need this hack added to top of wcmMappingFactor() to get it working: + /* FIXME */ + priv->maxWidth = priv->maxX; + priv->maxHeight = p

[Linuxwacom-devel] [PATCH 3/4] Init relative X/Y axis to use tablets min/max size

2011-01-11 Thread chris
From: Chris Bagwell wcmRotateAndScaleCoordinates() uses these values to scale values based on initialized. The change to use -1..-1 caused it to scale to 0 value always and make cursor not move. This is probably a revert more then bug fix because it seems standard behavior to init relative to

[Linuxwacom-devel] [PATCH 2/4] Set WCM_PEN feature based on wcmKeys

2011-01-11 Thread chris
From: Chris Bagwell 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

[Linuxwacom-devel] [PATCH] make key mappings align with button mappings.

2011-01-12 Thread chris
From: Chris Bagwell let me define terminology since I do not 100% know X's terminology. 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 de

  1   2   3   4   5   6   7   8   9   >