无法在kivy上校准触摸屏

时间:2018-04-11 13:51:48

标签: python python-3.x touch kivy calibration

对于我的pi触摸屏项目,我正在使用 - 你猜对了 - pi和一个egalax touchdriver。事物接收输入,触摸屏实际上工作,经过一些小调整,如反转y_axis和东西。但是,此刻我一直试图触摸屏幕边缘的某个按钮,这是我无法触及的。我实际上使用了一支启用了光标的笔,以确保我知道屏幕注册输入的位置。

所以在kivy文档中搜索了一下之后,我遇到了this postproc.calibration模块应该可以解决的问题。

但事实并非如此。我尝试将以下2个代码段放在.kivy/config.ini文件中:

[input]
egalax = hidinput,/dev/input/event0,rotation=90,invert_y=1

[postproc:calibration]
egalax = xratio=1.2,yratio=1.2

[input]位有效,没问题。 [postproc:calibration]位是不起作用的。我已尝试将该行放在[postproc]模块下方,甚至位于[modules]模块下方。我也尝试将egalax = xratio=1.2,yratio=1.2行放在[postproc]模块中。似乎没有工作。我也尝试将浮动数增加到2.0,但没有变化。

那么我如何'扩展'我的触摸输入区域?

2 个答案:

答案 0 :(得分:0)

对于这个问题,我从这个来源找到了一个解决方案:Google group。只是为了澄清:它涉及更改kivy安装目录中的文件。

<TextBox Text="{Binding ElementName=CID,Path=SelectedItem,Display=Name}"> 插入最后一行:

/usr/local/lib/python3.5/dist-packages/kivy/input/providers/hdinput.py

然后在你的.kivy / config.ini文件中添加:

class HIDInputMotionEventProvider(MotionEventProvider):
    options = ('min_position_x', 'max_position_x',
               'min_position_y', 'max_position_y',
               'min_pressure', 'max_pressure',
               'invert_x', 'invert_y', 'rotation',
            -> 'min_abs_x', 'max_abs_x', 'min_abs_y', 'max_abs_y') # <- this one

至少我的触摸屏(eGalax的东西)已经过校准。

答案 1 :(得分:0)

我有一个关于Kivy&Waveshare 10.1英寸触摸屏的答案。 须藤nano .kivy / config.ini我需要“ param = rotation = 90”

添加

[input]
mouse = mouse
mtdev_%(name)s = probesysfs,provider=mtdev
hid_%(name)s = probesysfs,provider=hidinput,param=rotation=90