Magic Trackpadを使用した OS X で、いくつかの Java ソフトウェアの奇妙な動作を検出しました。水平方向の「2 本指」スクロールが実行されると、 の修飾子定数がMouseWheelEvent
1 に設定されるという魔法があることを検出できまし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);
[...]
}
これは私に多くの頭痛の種を解決させています..助けてくれてありがとう-それは大歓迎です