From: Jiri Kosina on
On Thu, 3 Dec 2009, Peter Hutterer wrote:

> These touchscreens are mounted onto HP TouchSmart and the Dell Studio One
> 19. Without a quirk they report a wrong button set and the x/y coordinates
> through ABS_Z/ABS_RX, confusing the higher levels (most notably X.Org's
> evdev driver).
>
> Device id 0x003 covers models 1900, 2150, and 2700 [1] though testing could
> only be performed on a model 1900.
>
> [1] http://www.nextwindow.com/nextwindow_support/latest_tech_info.html
>
> Signed-off-by: Peter Hutterer <peter.hutterer(a)redhat.com>
> ---
> drivers/hid/hid-ids.h | 3 +++
> drivers/hid/usbhid/hid-quirks.c | 1 +
> 2 files changed, 4 insertions(+), 0 deletions(-)

Applied, thanks Peter.

--
Jiri Kosina
SUSE Labs, Novell Inc.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Peter Korsgaard on
>>>>> "Peter" == Peter Hutterer <peter.hutterer(a)redhat.com> writes:

Peter> These touchscreens are mounted onto HP TouchSmart and the Dell
Peter> Studio One 19. Without a quirk they report a wrong button set
Peter> and the x/y coordinates through ABS_Z/ABS_RX, confusing the
Peter> higher levels (most notably X.Org's evdev driver).

What exactly does this fix? I've been using NW touchscreens for a while
and don't recall any issues (admittedly only used it with evtouch).

--
Bye, Peter Korsgaard
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Peter Hutterer on
On 03/12/09 22:15, Peter Korsgaard wrote:
>>>>>> "Peter" == Peter Hutterer<peter.hutterer(a)redhat.com> writes:
>
> Peter> These touchscreens are mounted onto HP TouchSmart and the Dell
> Peter> Studio One 19. Without a quirk they report a wrong button set
> Peter> and the x/y coordinates through ABS_Z/ABS_RX, confusing the
> Peter> higher levels (most notably X.Org's evdev driver).
>
> What exactly does this fix? I've been using NW touchscreens for a while
> and don't recall any issues (admittedly only used it with evtouch).

evtouch has the following code:

if ( (ev->code == ABS_X) || (ev->code == ABS_Z) ) {
priv->raw_x = ev->value;
pos_changed = 1;
}

if ( (ev->code == ABS_Y) || (ev->code == ABS_RX) ) {
priv->raw_y = ev->value;
pos_changed = 1;
}

it's a hack in userspace that works around wrong event reporting. So
yes, it works if you're using evtouch but if you want to use any other
driver that driver needs the same hack. treating Z as X and RX as Y
doesn't work too well for a generic driver such as evdev, which has to
deal with devices where RX is a valid axis.

Cheers,
Peter
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Peter Korsgaard on
>>>>> "Peter" == Peter Hutterer <peter.hutterer(a)redhat.com> writes:

Hi,

Peter> it's a hack in userspace that works around wrong event
Peter> reporting. So yes, it works if you're using evtouch but if you
Peter> want to use any other driver that driver needs the same
Peter> hack. treating Z as X and RX as Y doesn't work too well for a
Peter> generic driver such as evdev, which has to deal with devices
Peter> where RX is a valid axis.

Hmm, I don't see it sending Z / RX:

sudo evtest /dev/input/event12
Input driver version is 1.0.0
Input device ID: bus 0x3 vendor 0x1926 product 0x1 version 0x100
Input device name: "Nextwindow Touchscreen"
Supported events:
Event type 0 (Sync)
Event type 1 (Key)
Event code 272 (LeftBtn)
Event code 273 (RightBtn)
Event code 274 (MiddleBtn)
Event type 3 (Absolute)
Event code 0 (X)
Value 0
Min 0
Max 32767
Event code 1 (Y)
Value 0
Min 0
Max 32767
Event type 4 (Misc)
Event code 4 (ScanCode)
Testing ... (interrupt to exit)

sudo nwtool -u -i
Version: 2.91
Serial: 233025
Model: 1900
HW capabilities: 0x40
Rightclick delay: 1000 ms
Doubleclick time: 200 ms
Report mode: 1
Drag threshold: 500
Buzzer time: 40 ms
Buzzer tone: 40
Calibration key: 4
Calibration presses: 3

--
Bye, Peter Korsgaard
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
From: Peter Hutterer on
On 04/12/09 22:59, Peter Korsgaard wrote:
>>>>>> "Peter" == Peter Hutterer<peter.hutterer(a)redhat.com> writes:
> Peter> it's a hack in userspace that works around wrong event
> Peter> reporting. So yes, it works if you're using evtouch but if you
> Peter> want to use any other driver that driver needs the same
> Peter> hack. treating Z as X and RX as Y doesn't work too well for a
> Peter> generic driver such as evdev, which has to deal with devices
> Peter> where RX is a valid axis.
>
> Hmm, I don't see it sending Z / RX:
>
> sudo evtest /dev/input/event12
> Input driver version is 1.0.0
> Input device ID: bus 0x3 vendor 0x1926 product 0x1 version 0x100
> Input device name: "Nextwindow Touchscreen"
> Supported events:
> Event type 0 (Sync)
> Event type 1 (Key)
> Event code 272 (LeftBtn)
> Event code 273 (RightBtn)
> Event code 274 (MiddleBtn)
> Event type 3 (Absolute)
> Event code 0 (X)
> Value 0
> Min 0
> Max 32767
> Event code 1 (Y)
> Value 0
> Min 0
> Max 32767
> Event type 4 (Misc)
> Event code 4 (ScanCode)
> Testing ... (interrupt to exit)

with the quirk, the device exposes three /dev/input/event files, the
highest of which sends the actual events now (in X/Y). number two looks
like a mouse device (like yours), number three like a touchscreen
(BTN_TOUCH, etc.)
without the quirk, I only get two devices, the second of which looks
like a mix of mouse/touchscreen and it sends ABS_Z/ABS_RX while ABS_X
and ABS_Y are mute. I can get you the full evtest blurb but not before
Monday, the screen is in the office.

> sudo nwtool -u -i
> Version: 2.91
> Serial: 233025
> Model: 1900
> HW capabilities: 0x40
> Rightclick delay: 1000 ms
> Doubleclick time: 200 ms
> Report mode: 1
> Drag threshold: 500
> Buzzer time: 40 ms
> Buzzer tone: 40
> Calibration key: 4
> Calibration presses: 3

where do I get nwtool from? google is unusually quiet about it.
is it possible that you changed the report mode (or have it different to
me anyway) and that affects things?

Cheers,
Peter


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo(a)vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/