python - 在 Windows 上的 PsychoPy 中记录屏幕触摸开始的时间

标签 python windows touchscreen psychopy

我正在帮助在 Windows 8 平板电脑上使用 PsychoPy 实现一项实验。似乎无法通过 PsychoPy、pyglet 或 PyGame 界面直接访问触摸事件。

我发现的大多数其他来源都提到使用鼠标移动事件代替触摸事件。这对于记录位置很有效,但对于记录时间它对我们不起作用。我们想收集触摸开始的时间,而鼠标事件是在触摸结束时发生的。

有谁知道在 PsychoPy 中或通过将另一个库导入实验中来执行此操作的方法吗?

更新:记录 ioHub 鼠标事件,看起来按下和释放鼠标事件都在触摸结束时发送。这是有道理的,因为这是操作系统确定触摸不是滑动的点。 (此外,它会根据触摸的持续时间来决定触摸是左击还是右击)。

最佳答案

我已经使用 WndProc 的 Hook 来管理它,它不漂亮但可以工作。后代的解决方案:

https://github.com/alisdt/pywmtouchhook

一个简短的总结:

我结合使用了 ctypes 和 pywin32(不幸的是,两者都无法完成这项工作)来注册目标 HWND 以接收触摸消息,并替换其 WndProc,将所有非触摸消息传递给原始 WndProc。

关于python - 在 Windows 上的 PsychoPy 中记录屏幕触摸开始的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30850089/

相关文章:

windows - Visual Studio 2012 远程操作花费的时间比预期的要长

windows - 以编程方式创建 Windows session

c# - 如何检测 Windows 设备是否支持触控

python - 使用触摸屏启动时运行 Python 脚本时显示名称错误

python - 数据库错误: DPI-1047: Cannot locate a 64-bit Oracle Client library (Running cx_Oracle in anaconda python)

python - 用python将文件表示为对象

python - 根据 2 列的范围将新行插入到 pandas 数据框中

python - matplotlib 中相同数据上具有不同单位的第二个绘图轴?

c - Windows过滤器驱动上的32位_asm代码到64位汇编代码

iphone - iPad/iPhone 触摸点是否会因校准而出现错误?