[1] マウスおよびそれと同等とみなされ得る装置を、 一般に指示装置 といいます。
[2] OS の機能あるいは独自のアプリケーションとして、 ソフトウェアによって指示装置をエミュレートするものもあります。
[10] スマートフォンの画面のように、マウス相当の機能より大幅に拡張されているものもあります。
[4] マウスを利用するソフトウェア (OS、ウィンドウシステム、アプリケーションなど) は、 マウスが指す画面上の座標を保持しています。 これを表す記号をマウスポインターまたはマウスカーソルといいます。
[5] マウスは1つ以上のボタンを持っており、それぞれ押下することができます。 押下してすぐに離す操作をクリック、押下して座標を移動させてから離す操作をドラッグ (ドラッグアンドドロップ) といいます。
[7] マウスはホイールを持つことがあります。ホイールはボタンの1つとして機能することもありますが、それに加えて、 一次元の移動量を指定する操作ができます。
[8] 指示装置の操作と状態に関しては、次のような概念があります。
[18] アプリケーションによっては、 マウスと鍵盤の操作を組み合わせることがあります。
[21] ThinkPad の鍵盤 (単体製品を含みます。) では、 中ボタンを押しながらトラックポイントを移動するとホイールの操作になります。 これはデバイスドライバーレベルの仕様とされます [要出典]。
[22] 一方で、中ボタンを押して離すとスクロールモードに入ります。 これは Windows レベルの仕様とされます [要出典]。 Windows の仕様といいつつ効くアプリケーションと効かないアプリケーションがあるので、 実はそうではなく各アプリケーションが勝手に実装している仕様なのでしょうか。 Chrome と Firefox で微妙に挙動と表示が違います。
[23] さて、 >>21 と >>22 は必ずしも矛盾しないものの、微妙なバランスで成り立っていそうです。 実際試してみると、 Firefox では思ったように機能します。 一方で Chrome だと中ボタンを押しているときにスクロールモードに入る準備動作 (マウスポインターが変化し、どの方向にも移動しない。ボタンを離すとスクロールモードに入る。) になるときと、ホイールになるときがあります。どちらかというと準備動作の方に入ることが多い体感ですが、 どちらに行くかの条件は何かありそうでつかめません。
[24]
その Chrome でも中ボタンの mousedown
で既定動作を取り消しすれば常にホイールモードに入るように見えます (が厳密にチェックはしていません)。
[25] Firefox だとその準備動作モードで固定されることがなくて、準備動作状態でトラックポイントを移動するとそのままホイールモードに移行するので、 自然な挙動になっています。
[20] Mouse back/forward buttons: page navigation or JS events? · Issue #191 · w3c/pointerevents () https://github.com/w3c/pointerevents/issues/191