Hi, Le 05/09/2012 09:29, Oliver Neukum a écrit : > before we add yet another sysfs interface, we should ask whether calibration > isn't a problem that should be solved with a common API. Short answer : no. ## Long answer (may be oot) : Existing calibration tools or procedures (in kernel modules or xorg) for absolute devices deals with hardware axis mostly matching system's ones (X screen mainly), modulo switching XY, inversion or simple tweaks. Plus you know from the beginning the ranges used, and all parameters are stable. eBeam device track an active stylus in his fov, usually on a whiteboard where a video-projector cast the computer screen. It then compute the stylus's position and send it to the kernel in his own fixed 2D cartesian coordinate system relative to the device. The device is by design mobile (you stuck it anywhere on the border of the projection plane for a session), his axis never match screen's ones, neither in range nor orientation. Even worse, due to projection artifact, the two coordinates systems (ebeam and screen) can even not be linearly correlated. Manufacturer's so-called drivers seems to use second order interpolations, i use an homography transformation (which is the right mathematical tool for the problem, and seems quicker) to transform between coordinates systems. Anyway, this need lot of parameters. As ebeams are the only devices to my knowledge that work that way, i don't think a common API can be common, unless we mean an in-kernel generic purpose calibration API for input devices (stellar away for me), or a userland one (where should it be in the stack ?). Sincerely, this look overkill. In the other hand, the actual ebeam module transformation feeding events subsys works very well and expose straight and usable data to userland (xorg evdev for now, and any program that can eat kernel's input data). ## I understand the sysfs interface is a problem. Eventually, in last resort, i can reduce it to 4 files : pass the 9 matrix parameters as one big string, removing min values. But i think this obfuscate the api for a marginal gain. -- Yann Cantin A4FEB47F -- -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html