是否有可能(通过StylusButtonDown等)对按钮按下(即一个手写笔按钮,而不是某个应用程序中的按钮)作出反应,当手写笔/笔没有接触到屏幕时,即在笔记本的某个地方盘旋?只有当笔尖实际接触到屏幕表面时,这些才会触发。具体来说,我不需要知道按钮的位置。按下枪管按钮的时候。
我使用的是微软Surface和它附带的Surface,如果这有什么不同的话。我不需要它是跨平台的,便携的或任何东西。事实上,其他语言的解决方案(C++等)都没问题。黑客解决方案非常受欢迎。
发布于 2020-02-05 01:41:54
AutoHotKey就是答案!
AutoHotKey是一个开源工具,它帮助创建对事件的自定义自动响应。
AutoHotKey支持表面笔。它还支持钢笔远离屏幕的场景。。
表面笔通过蓝牙连接到Windows,信号范围为几米。因此,从技术上讲,使用表面笔作为Windows的遥控器是可能的!
最流行的方案之一是,使用Surface作为表示控制器。
下面是一个使用Surface控制Powerpoint演示文稿的AutoHotKey脚本:
; 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更多信息和帮助:
发布于 2020-02-01 20:03:23
我可能有解决方案,将与目前使用的技术,如蓝牙和Wifi,是在笔和您的微软表面。但是,您需要自己编写一些部分的程序(大多数提到的技术都在开源库中)。
当你把你的笔和表面贴在一起后,你应该把Wifi和蓝牙连接到笔上。
1.选项
有一个好的文章,解释蓝牙三角测量,我们将使用在近距离的三角笔,除了我们将使用蓝牙和wifi (我们没有第3点),所以它将不那么精确的3分。但是有了两个点,你就可以在这张桌子旁测量距离,在这么小的空间里找到他们的交叉口。

使用与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)

这就是它的工作方式,你需要保持这个软件在后台运行,它可能会对电池有一些严重的影响,你将需要外部的wifi适配器为互联网。
我没有微软的表面,所以我不能自己编码,因为我没有设备来尝试它,但这是工作的想法。由于精度的微调,它可能是真正精确的定位。
2.选项
Wifi三角评估:https://github.com/kevindu/wifi-ap-positioning可以单独使用,如果你能进入钢笔的固件程序,你可以通过蓝牙传输位置,但是这个选项并不是那么精确。
发布于 2020-01-30 14:44:42
据我所知,Microsoft Surface在屏幕上没有传感器。因此,没有任何事件会在触笔/笔靠近屏幕时对其做出反应。
虽然,如果你是一名工程师,你可能会自己创建一些传感器,然后创建事件来对这些事情做出反应。
https://stackoverflow.com/questions/59785709
复制相似问题