【发布时间】:2010-12-04 23:02:42
【问题描述】:
这个周末我很无聊。
我决定构建一个莫尔斯电码应用程序,我可以在其中使用触控板点击莫尔斯电码并让我的应用程序发出声音。
我告诉过你我很无聊! :D
在 C# 中是否有一些事实上的方式来访问触控板?我的意思是使用压力图。谢谢!
【问题讨论】:
这个周末我很无聊。
我决定构建一个莫尔斯电码应用程序,我可以在其中使用触控板点击莫尔斯电码并让我的应用程序发出声音。
我告诉过你我很无聊! :D
在 C# 中是否有一些事实上的方式来访问触控板?我的意思是使用压力图。谢谢!
【问题讨论】:
我不是 100% 熟悉触控板的概念,但我假设您正在使用的机器是笔记本电脑,而您所指的是其他所谓的“鼠标板”。
您至少可以在 Windows 中做几件事。当您用手指点击时,您实际上是在向 Windows 运行时发送“点击”事件。如果你持有
在 .NET 中,任何继承自 System.Windows.Forms.Control 的对象(Forms/UserControls)都可以订阅以下事件:
您可以对 MouseUp 和 MouseDown 事件之间的时间差进行计时,并对产生的时间跨度范围做出反应。例如,如果您按住鼠标 20 毫秒,那么这是一些莫尔斯电码字符,而按住鼠标 40 毫秒则是其他字符。
对于鼠标垫/触控板,这相当于将您的手指放在触控板上。
【讨论】:
一些选项卡驱动程序使用鼠标输入消息额外信息来发送额外信息。我认为 WACOM 这样做是为了发送笔压。
可以使用GetMessageExtraInfo Function查询此信息
也许您应该检查一下您的平板电脑是否有什么有趣的地方,但它可能是特定于供应商的,是否有任何不确定的东西可用。
【讨论】:
GetMessageExtraInfo 历史的一些有趣(但可能对 Serg 的任务没有帮助)信息发布在 Raymond Chen 的博客上。 View here 。好吧,Serg 说他很无聊,所以至少很有趣 :)