ラベル LaG の投稿を表示しています。 すべての投稿を表示
ラベル LaG の投稿を表示しています。 すべての投稿を表示

2010/09/24

LaG更新

Launcher_As_Gesture - Google Code

以前作った、マウスジェスチャの様なランチャにAutoHotkeyでマウスポインタの移動を感知するセンサーを組み合わせてみました。

Windowsに触る時間自体が減っていますが、ずっとMacに触った後だと、適当に自作したアプリのUIのもっさり感がいかんともしがたい。

Macでも同じような物を作りたいですが、AutoHotkeyに変わるような物がないので、とりあえずXcodeを入れましたが、全く実装の見当がつきません。

2010/09/15

AutoHotkeyでマウスポインタの移動を感知する

doughnutSensor

AutoHotkeyはキーバインディングを目的としたスクリプト実効環境なので、キーイベントに関しては詳細な設定ができますが、ポインティングデバイスに関しては思った様には行きません。

マウスポインタが移動したかどうかを判定するには、一定間隔で座標を監視するタイマーを作るか、GUIを作成してOnMessageでウィンドウイベントを取るかしないと思われます。好きな場所でポインタが1ドット移動した、といったイベントをとる事ができません。

以前作成した、マウスジェスチャの様なランチャでは、中クリックがないMagicMouseのために、↓ジェスチャに中クリックを割り当てていました。

しかし構造上、ボタン押し下げと同時にランチャウィンドウがポインタの下に割り込むため、アクティブウィンドウが変更され、プルダウン等の一時的に表示されるコントロールが消えてしまう、という問題が発生。

何が困るかと言うと、Firefoxのブックマークツールバーにあるフォルダの中のブックマークを新しいタブで開く、という動作はプルダウンの要素を中クリックする必要があったのです。ランチャを実運用してみると、普段意識しない操作を意外に多く行っている事が判明しました。

Firefoxだけならば、タブの動作を変更もできますが、全てのアプリでそうとは行かず、ランチャ側で対応することに。

ということで、右ボタンを押し下げている間にポインタを動かさないと中クリック、動かした場合、改めてランチャを起動という仕様を実装するために、動いた/動いてないを判断する部分を作成したものです。

ランチャに組み込まないと、ただ右クリックが不便になるだけです。

2010/07/18

マウスジェスチャの様なランチャ

Launcher_As_Gesture

AutoHotkeyスクリプトで出来たランチャもどきです。

マウスの右クリックを乗っ取って、押した瞬間ポインタの下に3×3のパネルを開きます。

右ボタンを押したまま、マウスをどこかのパネルの上に移動してから離すとパネルの内容が実行されます。

赤枠パネルの上に持っていくと、そのパネル位置を中心として更にもう一段3×3のパネルを開きます。

影が無いので解り難いですが、最初のパネルの右上にある[Windowメニュー]の上にポイントして、2枚目のパネルを開いた所です。

パネルを多段展開する事で、マウスジェスチャの↑→↑↑といった長いコマンドを見ながら探せます。覚えてるコマンドは見ないでも出来ますし、忘れていたら見ながらも出来ます。ジェスチャって全部覚えられませんよね、というコンセプトです。

随分前から考えていたんですが、特に必要性は無かったのでずっと作ってなかった物です。リンク先エントリ書いた時点(2009-03)で思い立ってから随分たっているので構想だけ二年以上してたのかもしれません。

重い腰上げて作る気になったのは、Firefox4でタイトルバーが極端に狭くなるらしい事が解ったからです。chromeもそうですが、タブバーが上に来ると、ほぼ同じ内容を表示しているタイトルバーは要らなくなりますので、枠線といえるほど狭くなります。

ここ数年、最小化/最大化/閉じるボタンなどを押すのが億劫なため、タイトルバー全体のどこでも右クリックしたら最小化、中クリックしたら閉じる、といった動作を割り当てていたのですが、利用頻度の最も高いFirefoxでそれが出来なくなると由々しき事態です。

そもそもウィンドウ操作って全面的に改良の余地がありそうなもんです。タッチパネルが流行ってきたので、PCでもマウス二個持ちでフリックやピンチしてもいいですし。基本、ウィンドウ内のコンテンツ操作より、ウィンドウ操作の方が多い場合、ウィンドウ上の何処でもダブルクリックしたら最大化や最小化、Win+クリックしたら従来の操作とかでもアプリによってはそんな困らない気がします。ウィンドウ操作モードとコンテンツ操作モードのトグルとピン(固定)が上手くできればどうとでも。

これも全く緊急性がないので、構想だけはしますが、多分必要になるまで仕掛からないでしょう。