校准¶
在 1.9.0 版本加入.
将输入设备重新校准到特定范围/偏移量。
假设你有3块1080p显示屏,其中前两块支持多点触控。默认情况下,两者都会混合触控,其范围会相互冲突:0-1的范围将对应到0-5760像素(记住,3 * 1920 = 5760)。
要修复这个问题,你需要手动引用它们。例如::
[input]
left = mtdev,/dev/input/event17
middle = mtdev,/dev/input/event15
# the right screen is just a display.
然后,您可以使用校准后处理模块:
[postproc:calibration]
left = xratio=0.3333
middle = xratio=0.3333,xoffset=0.3333
现在,来自左侧屏幕的触摸将位于0-0.3333范围内,而来自中间屏幕的触摸将位于0.3333-0.6666范围内。
您还可以根据设备的提供者类型来匹配校准规则。这在通过probesysfs匹配设备时非常有用。例如::
[input]
mtdev_%(name)s = probesysfs,provider=mtdev
然后,要对任何mtdev设备应用校准,您可以为括号内的提供者名称分配规则:
[postproc:calibration]
(mtdev) = xratio=0.3333,xoffset=0.3333
像这样校准设备意味着无需提前配置设备路径。请注意,使用此方法时,所有mtdev输入都将应用相同的校准。因此,在预期只有一个输入设备时,按提供者匹配通常更为有用。
- class kivy.input.postproc.calibration.InputPostprocCalibration[源代码]¶
基类:
object重新校准输入。
配置必须放在名为 postproc:calibration 的节中。在该节内,您必须有一行类似以下内容的代码:
devicename = param=value,param=value
如果您希望按提供者进行匹配,则必须包含类似以下的行::
(provider) = param=value,param=value
- 参数:
- xratio:浮点数
用于乘以X的值。
- yratio:浮点数
用于乘以Y的值。
- xoffset:浮点数
要添加到 X 的值
- yoffset:浮点数
要添加到 Y 的值
- auto: 字符串
如果设置,则触摸坐标将从屏幕相对坐标转换为窗口相对坐标。该值用作屏幕尺寸的指示,例如对于全高清(fullHD):
auto=1920x1080
如果存在此设置,它将覆盖所有其他设置。此设置假设输入设备完全覆盖显示区域,如果两者不同,计算结果将会出错。
在 1.11.0 版本发生变更: 添加了 auto 参数