ギャラクシーノート用です。
ACTION_HOVER_EXIT
イベントアクションで、いくつかの異なることを試しましたが成功しませんでした:
- イベント座標 (getX、getY) - スタイラスを画面から離すときの座標が 0、-146 のようなもので、スタイラスが画面に触れ始めると座標が両方とも 0 より大きい場合があります。
- 画面からの距離。画面からスタイラスの先端までの距離の軸があります。スタイラスの先端が画面に触れているはずです。残念ながら、Galaxy note のスタイラス デバイスにはこの機能がありません。
- 先端の圧力をチェックします。
ACTION_HOVER_EXIT
アクションを伴うホバリング イベントがディスパッチされるとき、これはまだ 0です。
デバイスに保存されている情報を見るとdevice.toString()
、2 つのケースで違いは見られませんでした。ただし、handler.postDelayed()
呼び出しを使用することで、これを回避することができました。基本的に、10ミリ秒後に終了ホバーアクションを実行し、その間にタッチイベントがディスパッチされなかった場合にのみ実行します。
私のスタイラスの出力は次のdevice.toString()
とおりです。
Input Device 5: sec_e-pen
Keyboard Type: non-alphabetic
Key Character Map: /system/usr/keychars/Generic.kcm
Sources: 0x2103 ( keyboard mouse )
AXIS_X: source=0x2002 min=0.0 max=799.8877 flat=0.0 fuzz=0.11234377
AXIS_Y: source=0x2002 min=0.0 max=1279.8877 flat=0.0 fuzz=0.11234969
AXIS_PRESSURE: source=0x2002 min=0.0 max=1.0 flat=0.0 fuzz=0.0