我正在帮助实现一个在Windows8平板电脑上使用PsychoPy的实验。似乎不可能通过PsychoPy或pyglet或PyGame接口直接访问触摸事件。
我发现的大多数其他来源都提到使用鼠标移动事件来代替触摸事件。这可以很好地记录位置,但对于记录时间,它不适用于我们。我们希望收集开始触摸的时间,而鼠标事件则出现在触摸的末尾。
有没有人知道在PsychoPy中或者通过将另一个库导入到实验中来做到这一点?
Update:记录ioHub鼠标事件,看起来按下和释放鼠标事件都是在触摸结束时发送的。这是合理的,因为这是在这一点上,操作系统是确定触摸不是一个滑动。(此外,它还将根据触摸的持续时间来决定触摸是左键还是右击)。
发布于 2015-06-19 13:54:43
我在WndProc中使用了一个钩子来处理这个问题,它不是很漂亮,但它可以工作。解决办法,为子孙后代:
https://github.com/alisdt/pywmtouchhook
简要总结:
我使用了ctype和pywin32的组合(不幸的是,两者都不能完成这项工作)来注册目标HWND来接收触摸消息,并替换它的WndProc,将所有非触摸消息传递给原始WndProc。
https://stackoverflow.com/questions/30850089
复制相似问题