You are not logged in.

#1 2018-03-26 17:57:05

xnopasaranx
Member
Registered: 2017-10-15
Posts: 8

Need help trying to calibrate touchscreen (penmount 9000)

Hello arch people!

I have a shiny industrial all-in-one PC (iEi UPC 312V) that we had lying around at my work place.
Since we are in the process of creating our own little fablab, my boss has offered the aforementioned hard shelled monster to me, for hosting an octoprint instance for my 3D printers.

I have set up arch and everything pretty much works out of the box (not sure about RFID but we won't need that), except for the touchscreen.

The touchscreen is a penmount 9000 device and I used inputattach to make it available to xinput. It show correctly on "xinput list", I can interact with it and it registers movement and touch events but I can't wrap my head around calibrating that thing. The cursor won't move out of a small partition of the screen, touching on the borders of the screen is causing events though.

My first attempts with the xinput_calibrator script from the AUR (and the latest version on github) were rather fruitless. The calibration seems successful, I edit the according file (/etc/X11/xorg.conf.d/99-calibration.conf) with the output of the script, but the area that I can move the cursor in is still the same.

Reading the arch wiki (https://wiki.archlinux.org/index.php/Touchscreen) gives no clues on how to troubleshoot this. I tried

xinput --map-to-output 14 LVDS1

but that didn't help at all with my calibration issue.

My understanding is, that I need to calculate and set up a transformation matrix, but how do I do this correctly?

The only clues I found were in the wiki discussion for touchscreen calibration (https://wiki.archlinux.org/index.php/Ta … ouchscreen) and they just confused me further.
There is a spreadsheet linked there, which I tried to use but a couple of parameters are not commented and I do not know how to get the correct values and where to find them.

Can someone please give me some pointers?

- How do I find out the size of the current touch area?
- Is there another way to sort of scale the touch area to the actual screen size?

this is what the wiki states:

Now, calculate these as accurate as possible:

c0 = touch_area_width / total_width
c2 = touch_area_height / total_height
c1 = touch_area_x_offset / total_width
c3 = touch_area_y_offset / total_height
The matrix is

[ c0 0  c1 ]
[ 0  c2 c3 ]
[ 0  0  1  ]

I tried calculating the touch_area_width and touch_area_height and the offsets by running evtest but the result isn't correct (the touch area just moves, but doesn't scale) so I must be doing something right and something fundamentally wrong...

thanks for any help!

Offline

Board footer

Powered by FluxBB