Oops.
Updated patch to remove an obvious error (I used the inverse of the ratio).
Also changed to assume the device units are square and thus the resolution
is the same in both directions, rather than guessing as to the shape of the
device. And fixed some incorrect replacement of tab with spaces.
Searching for uses of fake_resolution and equating the two results gives
scale factors between resolution and the controller range (called width and
height here):
evdev-mt-touchpad-buttons.c:535 bottom_area.top_edge
height * 0.15 / yres <= 10 (to choose the same branch as fake does
now)