HID: multitouch: Add quirks for flipped axes
authorAllen Ballway <ballway@chromium.org>
Tue, 10 Jan 2023 20:25:50 +0000 (20:25 +0000)
committerJiri Kosina <jkosina@suse.cz>
Wed, 18 Jan 2023 09:08:51 +0000 (10:08 +0100)
commita2f416bf062a38bb76cccd526d2d286b8e4db4d9
tree7420dede600d89baa8f1525fee6cca4c0326c284
parentd264dd3bbbd16b56239e889023fbe49413a58eaf
HID: multitouch: Add quirks for flipped axes

Certain touchscreen devices, such as the ELAN9034, are oriented
incorrectly and report touches on opposite points on the X and Y axes.
For example, a 100x200 screen touched at (10,20) would report (90, 180)
and vice versa.

This is fixed by adding device quirks to transform the touch points
into the correct spaces, from X -> MAX(X) - X, and Y -> MAX(Y) - Y.

Signed-off-by: Allen Ballway <ballway@chromium.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-multitouch.c
drivers/hid/hid-quirks.c
drivers/hid/i2c-hid/i2c-hid-dmi-quirks.c
drivers/hid/i2c-hid/i2c-hid.h