<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウス</anchor>およびそれと同等とみなされ得る<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">装置</anchor>を、
一般に<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指示装置<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">pointing device</rt></rubyb></dfn> といいます。</p><section><h1>具体例</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指示装置</anchor>には、
次のものがあります。</p><figure class="short list"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指示装置</anchor></figcaption><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウス</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">トラックボール</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">トラックポイント</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タッチパッド</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ペンタブレット</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タッチパネル</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョイスティック</anchor></li></ul></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor> の機能あるいは独自の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>として、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ソフトウェア</anchor>によって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指示装置</anchor>をエミュレートするものもあります。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鍵盤</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">矢印</anchor>などによって<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウス</anchor>操作とみなすことがあります。</p></example><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WebDriver</anchor> により<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指示装置</anchor>の挙動をエミュレートすることがあります。</p></example><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">遠隔操作</anchor>ソフトウェアを通じてネットワークから<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指示装置</anchor>の挙動がもたらされる場合もあります。</p></example><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">仮想機械</anchor>上で動作する場合のように<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プラットフォーム</anchor>レベルでは物理的な<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">装置</anchor>に見えても実はそうではない場合もあります。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> スマートフォンの画面のように、マウス相当の機能より大幅に拡張されているものもあります。</p></section><section><h1>操作と状態</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウス</anchor>を利用する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ソフトウェア</anchor> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">OS</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ウィンドウシステム</anchor>、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>など) は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウス</anchor>が指す<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">座標</anchor>を保持しています。
これを表す記号を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウスポインター</anchor>または<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウスカーソル</anchor>といいます。</p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> 多くの環境では、そのような<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">座標</anchor>は同時に1つだけ存在しており、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>全体を覆う<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">二次元</anchor> (<var xmlns="http://www.w3.org/1999/xhtml">x</var>, <var xmlns="http://www.w3.org/1999/xhtml">y</var>) <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">座標空間</anchor>上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">点</anchor>を表しています。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マルチディスプレイ</anchor>環境では、いずれかの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>にだけ存在します。</comment-p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">遠隔操作</anchor>ソフトウェアや<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">仮想機械</anchor>ソフトウェアの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">窓</anchor>内で別の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウス</anchor>が表示される場合のように、
複数の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">画面</anchor>を同時表示しているときは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウスカーソル</anchor>が複数存在することがあります。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウス</anchor>は1つ以上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ボタン</anchor>を持っており、それぞれ押下することができます。
押下してすぐに離す操作を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クリック</anchor>、押下して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">座標</anchor>を移動させてから離す操作を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドラッグ</anchor>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドラッグアンドドロップ</anchor>) といいます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウス</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホイール</anchor>を持つことがあります。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホイール</anchor>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ボタン</anchor>の1つとして機能することもありますが、それに加えて、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">一次元</anchor>の移動量を指定する操作ができます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">指示装置</anchor>の操作と状態に関しては、次のような概念があります。<figure class="short list"><ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クリック</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ダブルクリック</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">右クリック</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドラッグ</anchor></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ドロップ</anchor></li><li><code class="DOMe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mousedown</anchor></code></li><li><code class="DOMe" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">mouseup</anchor></code></li><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">活性的に指示されている</anchor></li><li><code class="CSS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">:hover</anchor></code></li></ul></figure></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウス操作</anchor>も参照。</comment-p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">アプリケーション</anchor>によっては、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">マウス</anchor>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鍵盤</anchor>の操作を組み合わせることがあります。</p><example xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><p xmlns="http://www.w3.org/1999/xhtml"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> 例えば <key xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">Shift</key> を押しながら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">クリック</anchor>すると通常とは異なるメニューを表示することがあります。</p></example><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ThinkPad</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鍵盤</anchor> (単体製品を含みます。) では、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">中ボタン</anchor>を押しながら<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">トラックポイント</anchor>を移動すると<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホイール</anchor>の操作になります。
これは<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">デバイスドライバー</anchor>レベルの仕様とされます [要出典]。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> 一方で、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">中ボタン</anchor>を押して離すと<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクロール</anchor>モードに入ります。
これは <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> レベルの仕様とされます [要出典]。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Windows</anchor> の仕様といいつつ効くアプリケーションと効かないアプリケーションがあるので、
実はそうではなく各アプリケーションが勝手に実装している仕様なのでしょうか。
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> で微妙に挙動と表示が違います。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> 
さて、 <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;21</anchor-internal> と <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;22</anchor-internal> は必ずしも矛盾しないものの、微妙なバランスで成り立っていそうです。
実際試してみると、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> では思ったように機能します。
一方で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> だと<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">中ボタン</anchor>を押しているときに<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクロール</anchor>モードに入る準備動作 (マウスポインターが変化し、どの方向にも移動しない。ボタンを離すと<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクロール</anchor>モードに入る。) 
になるときと、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホイール</anchor>になるときがあります。どちらかというと準備動作の方に入ることが多い体感ですが、
どちらに行くかの条件は何かありそうでつかめません。
<time>2025-05-04T15:22:39.800Z</time></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> 
その <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Chrome</anchor> でも<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">中ボタン</anchor>の <code>mousedown</code> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既定動作</anchor>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">取り消し</anchor>すれば常に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホイール</anchor>モードに入るように見えます (が厳密にチェックはしていません)。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> だとその準備動作モードで固定されることがなくて、準備動作状態で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">トラックポイント</anchor>を移動するとそのまま<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ホイール</anchor>モードに移行するので、
自然な挙動になっています。</p></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <cite xml:lang="en">Mouse back/forward buttons: page navigation or JS events? · Issue #191 · w3c/pointerevents</cite>
(<time>2018-10-17 13:07:00 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/w3c/pointerevents/issues/191">https://github.com/w3c/pointerevents/issues/191</anchor-external></p></section></body></html>