当触笔/笔远离屏幕时WPF触笔事件
当触笔/笔不接触屏幕时,即在笔记本电脑范围内的某个地方悬停时,是否可能对按钮按下(即触笔按钮之一,而不是某些应用程序中的按钮)做出反应(通过触笔按钮向下等或其他方式)?只有当笔尖实际接触屏幕表面时,才会触发这些操作。具体来说,我不需要知道按钮的位置。就在按下桶按钮的时候当触笔/笔远离屏幕时WPF触笔事件,wpf,stylus,pen,Wpf,Stylus,Pen,当触笔/笔不接触屏幕时,即在笔记本电脑范围内的某个地方悬停时,是否可能对按钮按下(即触笔按钮之一,而不是某些应用程序中的按钮)做出反应(通过触笔按钮向下等或其他方式)?只有当笔尖实际接触屏幕表面时,才会触发这些操作。具体来说,我不需要知道按钮的位置。就在按下桶按钮的时候 我使用的是微软的Surface,特别是它附带的Surface笔,如果有什么不同的话。我不需要它是跨平台的,便携的或任何东西。事实上,其他语言(C++等)的解决方案也可以。黑客解决方案非常受欢迎。据我所知,Microsoft Su
我使用的是微软的Surface,特别是它附带的Surface笔,如果有什么不同的话。我不需要它是跨平台的,便携的或任何东西。事实上,其他语言(C++等)的解决方案也可以。黑客解决方案非常受欢迎。据我所知,Microsoft Surface在屏幕周围没有传感器。因此,当触笔/笔靠近屏幕时,没有任何事件会对触笔/笔作出反应
尽管如此,如果你是一名工程师,你可能会自己创建一些传感器,然后创建对这些事件做出反应的事件。我可能有一个解决方案,可以与pen和Microsoft Surface中当前使用的蓝牙和Wifi等技术配合使用。但是您需要自己编写一些部分(提到的大多数技术都在开源库中) 将笔与Surface配对后,应使用Wifi和蓝牙连接到笔上 1。选项 这是一个很好的例子,说明了蓝牙三角测量,我们将在近距离使用三角测量笔,除了我们将使用蓝牙和wifi(我们没有第三点),所以它不会精确到3点。但是有了2个点,你就可以通过这个表来测量距离,找到它们的交点在哪里,在这样小的空间里是可行的 对第二个三角测量点使用与Wifi类似的方法,您可以在下面看到Wifi三角测量的源代码 下一步将校准笔架中笔的位置,这意味着 钢笔将位于曲面的一侧(为了简化,我们假设它仅位于右侧较短的一侧) 从这里你可以计算屏幕的面积
Allowed area:
offsetHeightOfPenScreenRation = ScreenHeight - penHardwareHeight
NonValidX = StartpenPositionX - ScreenWidth < penPositionX or StartpenPositionX < penPositionX
NonValidY = StartpenPositionY - ScreenHeight < penPositionY or StartpenPosition+offsetHeightOfPenScreenRation < penPositionY
penIsClose = not ( NonValidX or NonValidY)
允许区域:
offsetHeightOfPenScreenRation=屏幕高度-笔芯硬仓库高度
NONOVALIDX=起始位置X-屏幕宽度
这就是它的工作原理,你需要让这个软件在后台运行,它可能会对电池造成严重影响,你需要外部wifi适配器上网
我没有MicrosoftSurface,所以我不能自己编写代码,因为我没有可以试用的设备,但这是一个可行的想法。几乎不需要调整精度,就可以实现真正精确的定位
2。选项
Wifi三角定位:
可以单独使用,如果您可以进入pen固件,您可以通过蓝牙传输位置,但此选项不会如此精确。我看到这一点的唯一方法是自己为按钮安装传感器,因为它已经使用蓝牙或WiFi连接,因此,请使用所需的三角测量方法校准设备。好吧,我相信这是一个老套的答案,因为微软Surface在屏幕周围没有传感器。如果你真的在寻找一个“老套的解决方案”,那么我有一个想法,但这将是一个非常肮脏的方法。 尽管不存在支持该按钮的api,但即使触笔未触屏,系统也会对按下该按钮作出响应。您可以创建一个应用程序,在启动时读取以下命令行参数:单击一次、双击、按住。根据提供的参数,应用程序应向主应用程序发送适当的消息。
现在,您可以转到“笔设置”,并根据操作选择使用适当的参数运行上述应用程序。自动热键是答案 AutoHotKey是一个开源工具,可帮助创建对Windows输入设备事件的自定义自动响应 自动热键支持曲面笔。它还支持笔远离屏幕的场景。 Surface Pen通过蓝牙连接到Windows,信号范围为几米。因此,从技术上讲,可以使用表面笔作为Windows的遥控器 最流行的场景之一是使用Surface Pen作为演示控制器 下面是一个自动热键脚本,用于使用Surface Pen控制Powerpoint演示文稿:
; File name: surface-pen-slide-show-control.ahk
;
; This program helps the presenter scroll through slides, using Surface Pen
;
; Single-click on pen button to scroll forward
; Double-click on pen button to scroll backward
;
#NoEnv
SendMode Input
SetWorkingDir %A_ScriptDir%
#IfWinActive ahk_class screenClass
#F20::
Send, {Right}
Return
#F19::
Send, {Left}
Return
更多信息和帮助:
- 有关自动热键的完整参考:
- 演示代码(笔远离屏幕):
- Powerpoint幻灯片放映的遥控器: