【发布时间】:2019-02-08 18:05:49
【问题描述】:
规格:
- 使用 PsychoPy v1.90.3
- 运行 Windows 10 的 Window 10 Pro 6
背景: 我正在编写一个与儿童一起使用的触摸屏任务(下面链接的参考图片)。在任务中,孩子们需要按住屏幕底部的红色“主页”按钮 1.5 秒来进行试验(即打开屏幕顶部的窗户以显示他们可以打开的框)。我还收集了鼠标按钮被按下和释放的时间(用于计算响应时间)。 我最初使用鼠标在我的桌面上编写了此任务,因此使用此代码按住主页按钮没有问题:
mouse = event.Mouse(visible=True)
while not homePressed:
if mouse.isPressedIn(home) and home.contains(mouse):
core.wait(1.5, hogCPUperiod=1.5) ## when home button is pressed, wait for 1.5s
if mouse.isPressedIn(home) and home.contains(mouse): ## check if home button is still pressed
homePressed=True
当我尝试在 Surface Pro 上运行任务时,我遇到了触摸屏没有注册“按住”的问题。我了解到,除非屏幕被按下并释放,否则触摸屏不会记录鼠标点击,因为按住可能是 (1) 右键单击或 (2) 滑动。我尝试在 Surface Pro 上禁用“按住”注册为右键单击选项,但这并没有解决我的问题。
问题:
- 有没有办法让 Surface Pro 或 PsychoPy 像使用鼠标一样在触摸屏上注册按下并按住,以便孩子按下“主页”按钮继续试验?
- 如果是,我能否让 PsychoPy 以与鼠标单击相同的方式输出“按下”(触摸屏幕时)和“释放”(不再出现触摸时)输出?
- 如果使用 PsychoPy 库无法实现这一点,我可以尝试 PsychoPy 之外的其他 Python 解决方案吗?
已尝试的解决方案:
仅使用
home.contains(mouse)解决方案found here重置鼠标定位解决方案found here
修复“双击”问题解决方案found here
-
禁用 Surface Pro 的触控右键功能
【问题讨论】:
标签: python touch touchscreen psychopy surface-pro