5

スタイラス/ペンが画面に触れていないとき、つまりどこかで空中にホバリングしているときに発生するボタンの押下 (つまり、一部のアプリのボタンではなく、スタイラス ボタンの 1 つ) に (StylusButtonDown など、または代替手段を介して) 反応することは可能ですか?ノートの範囲で?これらは、ペン先が実際に画面の表面に触れている場合にのみトリガーされるようです. 具体的には、ボタンの位置について知る必要はありません。バレルボタンを押すと文字通り。

特に違いがある場合は、Microsoft Surface とそれに付属の Surface ペンを使用しています。クロスプラットフォーム、ポータブルなどは必要ありません。実際、他の言語 (C++ など) でのソリューションは問題ありません。ハッキーなソリューションは大歓迎です。

4

5 に答える 5

3

ペンと Microsoft Surface にある Bluetooth や Wifi など、現在使用されているテクノロジで動作するソリューションがあるかもしれません。ただし、一部の部分は自分でプログラムする必要があります (言及されている手法のほとんどはオープン ソース ライブラリにあります)。

ペンを Surface とペアリングしたら、Wifi と Bluetooth でペンに接続する必要があります。

1.オプション

Bluetoothとwifiを使用することを除いて(3番目のポイントはありません)、3ポイントほど正確ではありませ。しかし、2 点を使用すると、実際にこのテーブルで距離を測定し、交差点がどこにあるかを見つけることができます。このような小さなスペースでは実行可能です。

測定表

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)

三角測量

これがどのように機能するかです。このソフトウェアをバックグラウンドで実行し続ける必要があり、バッテリーに深刻な影響を与える可能性があります。インターネット用の外部 Wi-Fi アダプターが必要です。

私はマイクロソフトの表面を持っていないので、試してみるためのデバイスがないため、自分でコーディングすることはできませんが、これはうまくいきます。精度を少し調整するだけで、非常に正確な位置決めが可能になります。

2. オプション

Wifi 三角測量: https://github.com/kevindu/wifi-ap-positioning はおそらく単独で使用でき、ペンのファームウェアにアクセスできる場合は Bluetooth 経由で位置を転送できますが、このオプションはそれほど正確ではありません。

于 2020-02-01T20:03:23.703 に答える
0

あなたが本当に「ハッキーな解決策」を探しているなら、私にはアイデアがありますが、それは本当に汚い方法です. ボタンをサポートする API が存在しないという事実にもかかわらず、スタイラスが画面に触れていなくても、システムはボタンを押すことに応答します。起動時に次のコマンド ライン引数を読み取るアプリケーションを作成できます: ClickOnce、DoubleClick、PressAndHold。提供された引数に応じて、アプリケーションは適切なメッセージをメイン アプリケーションに送信する必要があります。これで、「ペン設定」に移動し、アクションに応じて、適切なパラメーターで上記のアプリケーションを実行することを選択できます。

于 2020-02-04T07:33:27.797 に答える
0

私がこれを見る唯一の方法は、ボタンのセンサーを自分で組み込むことです.BluetoothまたはWiFiを使用して既に接続されているため、必要な三角測量法を使用してデバイスを調整します. Microsoft Surfaceには画面の周りにセンサーがないため、ハックな答えだと思います。

于 2020-02-04T04:13:48.977 に答える