ロジクールのトラックボール TrackMan WheelことTM-250でFirfoxでUniversal Scrollしたくてアドオン作ろうとしたけど諦めた件

ロジクールのトラックボールTrackMan WheelことTM-250を使っています。個人的にはすごく気に入ってて、Universal Scrollという機能も気に入っています。Universal Scrollについては実際に体験してみないとその便利さの感覚がわからないかと思いますが、ホイールの様にホイールを回してズルズルページをスクロールするのではなく、トラックボールを軽く見たい方向に動かすだけで目的の位置にスクロールできるような感じです。ボールなのでスクロールスピードやスクロール量が指先で微妙な操作ができます。マウスの似たような機能にAuto Scrollがありますが似て異なるものです。Universal Scrollを覚えてしまうとAuto Scrollには戻れません。

 

LOGICOOL トラックマン トラックボール スクロールホイール搭載 TM-250

 

ですが、このUniversal Scrollには難点があってソフトごとに挙動が異なるのが最大の問題です。もっともUniversal Scrollが活躍するブラウジングですが、各ブラウザの対応がまちまちです。ブラウザの問題なのかロジテックのマウスソフトウェアSetPointのせいなのかはわかりません。あまりソフトの品質の評判がいいソフトでは有りませんが。

Google Chromeではいい感じでUniversal Scrollします。Univeral Scrollの使い勝手が最も良いブラウザです。次はIEでそれなりに動きます。ですがFirefoxはとても実用に耐えない感じです。ほとんどスクロールしないのです。ネットで検索すると同じ問題で困っている方を見かけますが解決していない様です。Firefoxならなにか良いアドオンがあるのではないかと思っていくつか探して使ってみました。

下の二つがそれなりに同じようなことが出来ますがやっぱりちょっと違います。

◇Firefox アドオン – Grab and Drag | Mozilla Japan[https://addons.mozilla.jp/firefox/details/1250]
Scrollbar Anywhere version 0.12.0

とにかく利用するソフトによってUniversal Scrollの使用感が変わるのは結かなりのストレスに感じるんですね。


じゃあ、自分で作ればいいじゃない!

で、なんで無いんだろうなーと思ったのですが、実際自分でちょっと勉強してFirefoxのアドオンを作ればいいんじゃないかと甘い考えを起こしましたw。

結論からいうと目的の物はできなかったのですが、アドオンを作成すること自体は下記のサイトで学ぶことで作成することは可能です。ただちょっとハードルが高く感じました。なんていうか情報がバラけていて目的の情報を探すのが面倒というか大変ですね。ネットで検索してもアドオンの開発のページよりアドオンの紹介のページばっかりが引っかかって情報を探すのが困難です。アマゾンで書籍を検索してもそれと分かる本が売ってないですね。ただ下記のサイトを回っていると多少は著書などが紹介されているので本格的に開発したい時はそれらを買うといいかもしれないと思いました。JavaScriptの開発に慣れている人はとても簡単に感じるのではないかと思いました。

Firefox拡張(アドオン)開発入門 – プログラミングノート

Firefox 3ではじめる拡張機能開発:第1回 最小構成でインストール|gihyo.jp … 技術評論社

MDN – MDC


挫折の理由

で、なんでできなかったかという理由ですが、つまりそのJavaScript故の仕様というかブラウザの宿命というか、マウスのポインタの位置をアドオンから制御できないんですね。セキュリティ的にマウスポインタの位置は取得できても位置は設定できないのです。(認識不足があったらツッコミ下さい。)Universal Scrollは大抵の場合マウスの中ボタンをクリックするとUniversal Scrollモードになってボールを回すことによって画面をスクロールさせるのですが、その間カーソルはUniversal Scrollモードに入ったときの位置に固定されるのですが、それができないんですね。マウスカーソルの位置が設定できないとマウスカーソルもボールを回した方向に移動してしまい画面下まで行くとそれ以上スクロールできないということになってしまいます。つまりGrab and Dragと同じようなアドオンは作れてもUniversal Scrollは作れないわけです。マウス移動のイベントで作ったのですが、マウスのイベントをフックして自分が処理した後はイベントを破棄してマウスカーソルの移動を抑止出来る方法とかあるんじゃないだろうかとも思ったのですが調べましたがわかりませんでした、今の僕にはここまでで限界です。


結局
次の方法でUniversal Scrollすることにしました。『Wheel Ball』を使う方法ですが、前の方法とほぼ同じですがちょっと違います。ほんとにちょっとだけw。

まず、SetPointの設定画面で中央ボタンをUniversal Scrollから単に中央ボタンにします。

20100334

 

『Wheel Ball』をダウンロードしてインストールして起動しておきます。ショートカットをスタートアップにでも放りこんで毎回自動で起動するようにしておきます。

Wheel BallKamigaki Web

Wheel Ballの設定画面の[マウス]タブで

  • [マウスボタンをスイッチに使用する]にチェック。
  • [使用するボタン]を[Buttton 2(中ボタン)]にチェック。
  • [ホイール固定操作]を[クリック]にチェック。

20100336

[垂直ホイール]のタブで

  • [垂直ホイールを使用する]にチェック。
  • [ホイール速度]を[上方向][下方向]友に速目に設定します。(好みですがこのほうがUniversal Scrollっぽくスクロールします。)
  • [分解能]を[60]位にします。(家の環境だと分解能をこれくらいにしたほうがスムーズにスクロールします。)

20100335 

これで、どのブラウザでも同じようにUniversal Scrollと同じような動作をすることが出来るようになりました。出来れば、Universal Scroll中にマウスカーソルの形が変わると今どのモードになっているのか判っていいんですけどね。

Firefoxの場合は下記のアドオンを入れるとよりスクロールがスムーズになって眼に優しいです。

Yet Another Smooth Scrolling :: Add-ons for Firefox

関連記事
【ロジクール TM-250】トラックボールを買ってみた – KUMA TYPE

タグ :