0

Magic Trackpadを使用した OS X で、いくつかの Java ソフトウェアの奇妙な動作を検出しました。水平方向の「2 本指」スクロールが実行されると、 の修飾子定数がMouseWheelEvent1 に設定されるという魔法があることを検出できましInputEvent.SHIFT_MASKた。押した。

Magic Trackpad の水平スクロールと一般的な SHIFT + マウス ホイールを区別するにはどうすればよいですか? を使用するInputEvent.SHIFT_DOWN_MASKと、SHIFT ダウンの検出が完全に無効になるようです。

上記のように動作するコード スニペットを次に示します。

@Override
public void mouseWheelMoved(@NotNull MouseWheelEvent e) {
    int unitsToScroll = e.getUnitsToScroll();

    int modifiers = e.getModifiers();
    boolean shiftDown = ((modifiers & InputEvent.SHIFT_MASK) != 0);
    boolean ctrlDown = ((modifiers & InputEvent.CTRL_MASK) != 0);
    [...]
}

これは私に多くの頭痛の種を解決させています..助けてくれてありがとう-それは大歓迎です

4

1 に答える 1

0

私のテストでは、スワイプ中に 2 本の指の距離が変化すると (ピンチのような操作)、シフト キー マスクが設定されるようです。指を厳密に同じ距離に保つことができる場合、シフト キー マスクは決して設定されません。

于 2013-08-10T13:56:38.120 に答える