BoxShooterの使い方(Google Chrome版)

BoxShooterをインストールしていただきありがとうございます。

まず最初におことわりしておかなければならないことがあります。本アドオンの主機能である遠隔操作機能は、ブラウザの標準機能である「自動スクロール機能」と干渉します。このため、自動スクロール機能を多用される方からすると不便なものとなるかもしれませんが、せっかくインストールしていただいたので一度は使ってみてください。

私はマウスの細かい操作が苦手で、よくチェックボックスやラジオボタンのクリックを外してしまいます。そこで、離れた場所からでも必ずヒットするようにできないものかと考えて作ったのがこのBoxShooterです。
操作方法が少し特殊なものになってしまった気がしますので、ここで簡単に説明させてもらいます。

機能概要

本拡張機能の主機能は『マウスの中央ボタン(ホイール)でマウスカーソルから一番近い位置にある対象を操作する機能』です。これを「遠隔操作機能」と呼んでいます。本バージョンで「対象」となり得るのは以下のものです。

対象 操作内容 補足
チェックボックス フォーカス移動してクリック つまり、チェック状態のOn,Offが切り替わります
ラジオボタン フォーカス移動してクリック チェックがOnであるものは対象になりません
テキストボックス フォーカス移動 パスワード型やファイル型の他、HTML5で追加されたtel,url等のtextに類似した型も対象です。
テキストエリア フォーカス移動  
セレクトボックス フォーカス移動してプルダウン 複数選択可能な場合はフォーカス移動だけです

どれを対象とするかはオプション画面(アドレスバー横のアイコンの右クリックで「オプション」を選択)で指定できます。ただし、1つでも指定すると前述のように「自動スクロール機能」に制限が発生します。
矩形領域を指定して一括処理することも可能になっています(この機能は「範囲操作機能」と呼ぶことにします)。これらの機能の詳細は後述します。

その他の機能として、アイコンクリックでポップアップされる「CheckBox Control」という画面があります。この画面には次のボタンやリンクがあります。

ALL-ON ページ内の全てのチェックボックスをOn状態にします。
ALL-OFF ページ内の全てのチェックボックスをOff状態にします。
ALL-TURN ページ内の全てのチェックボックスのチェック状態を入れ替えます。
SAFETY LOCK ONにすると、遠隔操作や範囲操作の機能が無効になります。
BoxShooter HELP このドキュメントへのリンクです。

対象となるチェックボックスは、表示されており(display:none;でない)disabledでないものに限られます。ラジオボタンは対象外です。これらの機能はオプション画面の設定と関係なく動作します。ただし、特定のチェックボックスの状態を変更することで他のチェックボックスに影響を与えるようなページでは予期せぬ結果になる場合があります。たとえば、Yahooメールでは最初のチェックボックスをOnにすることで他のチェックボックスが全てOnになりますが、このような画面で「ALL-TURN」とかしても正常に動作できません。

これが、本拡張機能の機能の全てです。

遠隔操作機能の詳細

遠隔操作を許可すると、マウスの中央ボタン(ホイール)で対象を操作できるようなります。次のように動作します。なお、チェックがOnであるラジオボタンは対象にはなりません。
  1. マウスの中央ボタンを押します。
  2. マウスカーソルから最も近い対象に線が引かれます。この線を以降「ビーム」と呼ぶことにします。
  3. ビームが指す対象(以降、「標的」と呼びます)が目的のもので無かった場合には、中央ボタンを押したまま次の何れかの操作をすることで標的を変更することができます。
    ホイールを廻す ホイールの回転量と方向に合わせて隣接する対象に標的が変わります
    マウスを移動する
    (ドラッグ)
    マウスカーソルの移動先から最も近い対象に標的が変わります。
  4. 中央ボタンを離すか左ボタンを押すと確定され対象の種類に合わせて操作が行われます。操作を行いたくなければ、中央ボタンを離す前に右ボタンを押します。
本機能は、対象がどんなに遠くても(スクロールしなくては見えないような場所にあっても)動作します。これが不都合であると思われた場合には、オプション画面で射程距離あるいは表示領域のみを指定してください。前者は、全ての対象が指定した射程距離より遠ければ動作しなくなります。後者はOnにすると、スクロールしなければ見えない位置にあるものを対象外にします。ただし、上記の3.で説明した方法で標的を変更する操作をした場合には機能しません。

Chromeには、『中央ボタンでリンククリックすると、無条件に新しいウィンドウ(又はタブ)にリンク先を表示する』という機能があるようです。この機能を使いたい場合には、オプション画面の「リンク上では機能しなくする」をOnにしてください。ただし、リンク文字列を修飾するようなタグ(<em>とか)がある場合には正しく判定できないことがあります。

中央ボタンを押したときの振動でホイールを廻してしまうのを防ぐために少しだけ遊びを設けてます。この遊びはオプション画面で調整できます。

ビームの色はオプション画面で変更できます。

キーボードを併用することで対象を次のよう絞り込むこともできます。
Shiftキー チェック状態がOffであるチェックボックスだけを対象にします。
Shiftキー+Ctrlキー チェック状態がOnであるチェックボックスだけを対象にします。
何れの場合もチェックボックス以外は対象になりません。
たとえば、Shiftキーを押しながらマウスの中央ボタンを連打すると、マウスカーソルの周りのチェックボックスが次々にチェックされていきます。近くにラジオボタンやテキストボックスなどがあったとしても無視します。

的を沢山用意しておきました。とりあえずためし撃ちをどうぞ。ラジオボタンは行でグループになってます。

範囲操作機能の詳細

ALTキーを押しながら中央ボタンを押すとこのモードになります。このモードの対象となり得るのはチェックボックスとラジオボタンだけです。このモードではビームは発射されません。代わりに、ドラッグすることで矩形領域が表示されるようになります。次のように動作します。
  1. ALTキーを押した状態でマウスの中央ボタンを押します。この段階でALTキーは離してもかまいません
  2. 中央ボタンを押したままマウスを移動させる(ドラッグする)と、1.で押した位置からマウスの移動先の範囲の矩形領域が作成されます。
  3. 中央ボタンを離すか左ボタンを押すと確定され矩形領域内のチェックボックスとラジオボタン(Offのものだけ)がクリックされます。操作を行いたくなければ、中央ボタンを離す前に右ボタンを押します。
矩形領域の色はビーム色と連動します。ただし、ビーム色より透明度を上げてあります。

本機能でもShiftキー及びCtrlキーによるコントロールが可能です。3.でボタンを離すときにこれらのキーを押しておくことで次のように動作します。
Shiftキー チェック状態がOffであるチェックボックスだけをクリックします。
つまり通常は、領域内のすべてのチェックボックスがOnになります。
Shiftキー+Ctrlキー チェック状態がOnであるチェックボックスだけをクリックします。
つまり通常は、領域内のすべてのチェックボックスがOffになります。
何れの場合も、ラジオボタンは対象になりません。(Shiftのみの場合はラジオボタンも対象にしてもいいような気もしますので将来的には仕様変更するかもしれません)

オプション画面の「右ボタンで範囲操作」をONにすることで、ALTキーの代わりに右ボタンを押し続けることでも範囲操作モードとすることを可能にしました。 ALTキーとは異なり、中央ボタンを押した後も右ボタンを押したままにしなければなりません。中央ボタンより前に右ボタンを離すとキャンセルされます。
また「左ボタンで範囲操作」をONにすることで、左ボタンを押した状態での単純なドラッグ操作で範囲操作モードとすることも可能です。ただし、この機能はチェックボックス上や、後述の「左ボタンでも撃つ」の射程距離内では機能しません(「左ボタンでも撃つ」が優先されます)し、 他のアドオンと干渉する可能性も高いと思われます。
Linuxでご使用の方へ
LinuxではALT+中央ボタンでは画面サイズ変更モードになってしまい、本機能が動作しない場合があるようです。 これに該当する場合には、「右ボタンで範囲操作」「左ボタンで範囲操作」を試してください。 ただし、Linuxでは右ボタンを押した段階でコンテキストメニューが表示されるようです(Windowsでは右ボタンを離した時表示される)。 この場合、左か中央ボタンを1クリックしてコンテキストメニューを閉じてから中央ボタンを押してください。使いにくくてすいません。

左ボタンでも撃つ

「左ボタンでも撃つ」をONにすることで、中央ボタンの他に左ボタンでも動作するようにできます。ただし、中央ボタンの動作とは次の点で異なります。
射程距離は「左ボタンでも撃つ」の右にある設定値が使用されます。
初期値は比較的小さな値になっています。これは、本機能の目的が「普通にクリックした時に、少し対象からズレたところをクリックしてしまってもヒットさせること」だからです。
入力コントロール(テキストボックスとかボタンとか)の上では動作しません。
これは、こうしないと射程距離内に対象があるボタンとかが使えなくなってしまうからです。
本機能は、他の拡張機能などと干渉する可能性が高いと思いますので注意してください。

変な動作をした場合や、ご意見や提案などありましたら下記URLまでお願いします。
http://www.fpdock.net/
利用者のご意見によっては、将来のバージョンアップで操作方法をまるっきり変えてしまう可能性があります。