如何在Tkinter中安装触摸屏手势处理程序?
我需要一些特别简单的东西:当检测到"扩展"手势时,增加字体大小。
如果Tcl/Tk没有具体实现它,这在Tkinter中是否可能做到?我认为,要么窗口管理器向客户端窗口发送一些我可以侦听和处理的事件,要么客户端必须向窗口管理器注册特定类型事件的处理程序,但如果不可能从Tkinter注册这些处理程序,如果Tcl不提供接口给它们,我不认为我可以这样做。
Tk目前不支持复杂的触摸事件,MSDN 非常薄,当它们进入事件循环时,它们实际上是什么样子。(这似乎不是你应该看的东西。)因为Tk在一个非常低的级别拦截数据,所以集成起来会很棘手。
我不能再追问下去了。我可以看到一些代码是如何工作的,但是MSDN函数上的样本与Tk所做的完全不匹配。这两者之间存在着整个框架的不匹配。(我也没有支持这些功能的设备;我的触控设备不支持Windows操作系统,Windows操作系统也不支持触控输入。
我们需要的是一个拥有触摸输入Win 8系统的人来运行一个被黑客入侵的Tk应用程序(win/tkWinX.c
中的Tk_TranslateWinEvent()
将是正确的位置)来打印未识别的事件。然后,我们可以看到通过触摸事件实际传递的内容(通过主消息泵);我们可以希望它们与ManipulationStarted
, ManipulationUpdated
和ManipulationCompleted
事件所涉及的事物相对应,但希望并不总是足够的。(我们可能还希望事件不会通过另一条路由被挤进来。)