Re: [PATCH] HID: add multi-input quirk for NextWindow Touchscreen.

From: Peter Hutterer
Date: Mon Dec 07 2009 - 00:48:28 EST


On 04/12/09 23:40, Peter Korsgaard wrote:
"Peter" == Peter Hutterer<peter.hutterer@xxxxxxxxxx> writes:
Peter> with the quirk, the device exposes three /dev/input/event files, the
Peter> highest of which sends the actual events now (in X/Y). number two
Peter> looks like a mouse device (like yours), number three like a
Peter> touchscreen (BTN_TOUCH, etc.)
Peter> without the quirk, I only get two devices, the second of which looks
Peter> like a mix of mouse/touchscreen and it sends ABS_Z/ABS_RX while ABS_X
Peter> and ABS_Y are mute. I can get you the full evtest blurb but not before
Peter> Monday, the screen is in the office.

Ahh ok, strange that I'm not seing the same as you. The reason why
there's two devices by default is that the NW pretends to be a keyboard
with numlock/scrolllock/caplock so it can go into calibration mode if
you press the button a number of times (by default 6).

evtest output for the mouse device on kernel 2.6.31.6-150.fc12.x86_64, I'll spare you the keyboard device, it's not particularly interesting.

Input driver version is 1.0.0
Input device ID: bus 0x3 vendor 0x1926 product 0x3 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 code 320 (ToolPen)
Event code 330 (Touch)
Event type 2 (Relative)
Event code 8 (Wheel)
Event type 3 (Absolute)
Event code 0 (X)
Value 16384
Min 0
Max 32767
Event code 1 (Y)
Value 16384
Min 0
Max 32767
Event code 2 (Z)
Value 15078
Min 0
Max 32767
Event code 3 (Rx)
Value 20008
Min 0
Max 32767
Event type 4 (Misc)
Event code 4 (ScanCode)
Testing ... (interrupt to exit)
Event: time 1260143900.146760, type 1 (Key), code 320 (ToolPen), value 1
Event: time 1260143900.146775, type 3 (Absolute), code 2 (Z), value 14953
Event: time 1260143900.146777, type 3 (Absolute), code 3 (Rx), value 19456
Event: time 1260143900.146780, -------------- Report Sync ------------
Event: time 1260143900.150722, type 4 (Misc), code 4 (ScanCode), value d0042
Event: time 1260143900.150729, type 1 (Key), code 330 (Touch), value 1
Event: time 1260143900.150733, -------------- Report Sync ------------
Event: time 1260143900.166736, type 3 (Absolute), code 2 (Z), value 14931
Event: time 1260143900.166750, type 3 (Absolute), code 3 (Rx), value 19440
Event: time 1260143900.166753, -------------- Report Sync ------------
Event: time 1260143900.186736, type 3 (Absolute), code 2 (Z), value 14904
Event: time 1260143900.186749, type 3 (Absolute), code 3 (Rx), value 19394
Event: time 1260143900.186751, -------------- Report Sync ------------
Event: time 1260143900.202737, type 3 (Absolute), code 2 (Z), value 14844
Event: time 1260143900.202751, type 3 (Absolute), code 3 (Rx), value 19223
Event: time 1260143900.202754, -------------- Report Sync ------------
Event: time 1260143900.222737, type 4 (Misc), code 4 (ScanCode), value d0042
Event: time 1260143900.222748, type 1 (Key), code 330 (Touch), value 0
Event: time 1260143900.222753, -------------- Report Sync ------------
Event: time 1260143900.226723, type 1 (Key), code 320 (ToolPen), value 0


Peter> where do I get nwtool from? google is unusually quiet about it.

I guess I need more google-foo ;) It's a tool I wrote:

http://git.korsgaard.com/cgi-bin/gitweb.cgi?p=nwtool.git;a=summary

You can git clone from http://git.korsgaard.com/git/nwtool.git

Nextwindow unfortunately never documented the really interesting
commands (like how to make settings persistent), so it cannot do
everything the Windows tool can.

Peter> is it possible that you changed the report mode (or have it different
Peter> to me anyway) and that affects things?

Not that I'm aware - I just plugged the device in seconds before running
evtest.

[root@touchie sbin]# ./nwtool -u -i
Version: 2.99
Serial: 617241
Model: 1901
HW capabilities: 0x40
Rightclick delay: 1000 ms
Doubleclick time: 200 ms
Report mode: 4
Drag threshold: 500
Buzzer time: 40 ms
Buzzer tone: 40
Calibration key: 4
Calibration presses: 3

looks like we do have a different reporting mode. Setting mode to 1 with nwtool yields the same information that you provided in your last email. After booting into Vista and resetting the screen to factory defaults, the reporting mode is still 4.

FYI, now that we're talking about NW touchscreens - How is multiscreen
setups with evdev supposed to work? We need something to bind a
touchscreen to an Xrandr output to translate (and with 1.3+ reverse
transform) the coordinates. In the old days you could use evtouch with
seperate X screens and bind the touchscreens to each screen.

It's probably offtopic here, but we can move the discussion to the X
list if you prefer - Last time I asked there I didn't get any reply
though:

http://article.gmane.org/gmane.comp.freedesktop.xorg/40071/

Ask louder :) I think I remember your email but it got flooded out of my inbox. In general there should be some method to do that though I need to check the implementation.

Cheers,
Peter


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