对于我的 pi 触摸屏项目,我正在使用一个 - 你猜对了 - pi 和一个 egalax 触摸驱动程序。该事物接收输入并且触摸屏实际上可以工作,经过一些小的调整,例如反转y_axis之类的东西。但是,此刻我被困在尝试触摸屏幕边缘的某个按钮时,我无法触及。我实际上使用启用了光标的笔来确保我知道屏幕在哪里记录我的输入。
因此,在 kivy 文档中搜索了一下后,我遇到了这个 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,但没有变化。
那么,我将如何"扩展"我的触摸输入区域呢?
对于这个问题,我从这个来源找到了解决方案:谷歌组。只是为了澄清:它涉及更改 kivy 安装目录中的文件。
/usr/local/lib/python3.5/dist-packages/kivy/input/providers/hdinput.py
插入最后一行:
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
然后在您的 .kivy/config.ini 文件中添加以下内容:
[input]
eGalax = hidinput,/dev/input/event1,rotation=90,min_abs_x=60,min_abs_y=90,max_abs_x=1985,max_abs_y=1970
至少我的触摸屏(eGalax 的东西)是校准的。
我有一个答案 关于Kivy和Waveshare 10.1英寸触摸屏。 sudo nano .kivy/config.ini.我需要"参数=旋转=90">
加
[input]
mouse = mouse
mtdev_%(name)s = probesysfs,provider=mtdev
hid_%(name)s = probesysfs,provider=hidinput,param=rotation=90