Archive - 2008.10

AutoHotKeyによるマウス/キーボード徹底カスタマイズ

目的と準備

キーボードには無意味なキーが多い。「変換」だの「無変換」だの使い道ゼロ。PauseやScrollLockなんてお飾り。Insertは間違えて押してイライラするだけ。マウスにしたって、たった3ボタンしかない貴重なホイールクリックボタンを利用頻度の少ない、ちょっとした特殊動作(例えばタブバー上で閉じるとか、ページ上では利用価値ゼロのスクロールアシストとか)に割り当てているようでは、勿体ない。というわけでこれらを有効活用しよう、というのが今回の目的になります。ついでに最終的にはボタン数の多さは正義、というわけで11ボタンマウスのカスタマイズのやり方まで進めます。

必要なのは日本語キーボード(キー数の多さが有利になります)、ふつーの3ボタンマウス、AutoHotkey。AutoHotKeyに関しては、とりあえずダウンロードしてautohotkey.iniをコリッと書き換えるだけ。書き換え方はこれから解説します。最後にはサンプルの.iniファイルも置いておきます。ええ、難しくありません。

3ボタンマウスのカスタマイズ

マウスにはボタンが、たった3つしかない。大して使わないキーをアサインしている場合じゃあない。絶対便利、超多用する、そんなキーをアサインすべき。左クリック、右クリック。ではもう一つは?私のお薦めはタブを閉じる(Ctrl+W) 。ただし、それだけだとタブブラウザ上でしか有効ではないので、アプリケーション終了のAlt+F4をアサインするのが良い。一々マウスで右上の×を押しにいくには遠いし、キーボードショートカットもまた押しにくい。AutoHotKeyはアプリケーション毎に設定を変えられるので、タブのあるアプリケーションに対してはCtrl+W(タブを閉じる)にすると、動作の統一感があって良い感じ。

Alt+F4は誤爆して終了しちゃうのが嫌?慣れればそんなでもないし、そもそも50回に1回ぐらいの誤爆なら、別にいいと思う。保存が必要なものはダイアログが出るんだし、Firefoxはうっかり閉じたタブの復旧なんてすぐだ。うっかり閉じてしまう、というデメリットよりも、ワンクリックでウィンドウを閉じるという「時間の節約」のほうが遥かにメリットが大きい。

そして、しかし3ボタンじゃまだ足りない。「戻る」も欲しいし、あれも、これも。という場合は、キーボードのCtrl,Alt,Shiftと組み合わせることでキー数を増やすことができる。単独押しに比べて、少しばかりコストが嵩むことになるので、あると便利、ぐらいのキーを設定。

ここでAutoHotKeyの設定の見方。「a::b」と書くと、aを押すとbが押されます。^!+#をキーの先頭に書くと修飾キーが加わったことになる、つまり「^MButton::^!F4」はコントロール+マウス中ボタンを押すとCtrl+Alt+F4、という意味になる。#IfWinActiveで囲むと、その部分は指定したアプリケーションだけの設定になる。ahk_classで指定するのだけど、このahk_classはAutoHotKeyのタスクトレイを右クリック→Window Spyで簡単に調べることができる。

Ctrl+MButtonはCtrl+Alt+F4。これは直接的にはダミー。実際は、FirefoxでMButtonをCtrl+wに指定しているので、Ctrl+MButtonをAlt+F4に指定してあげる、という部分が本筋。Firefox以外では無効だなんて勿体ない!何か他のキーを振る!と言いたいところなのだけど、しかし一つのキーに異なる動作を振っていくのは混乱してしまうので、あまり良くない。そういうことをしたいときは、素直に多ボタンマウスに移るほうが良い。時には無駄を受け入れるのも悪くない。

Alt+MButtonは最小化。WinMinimize,Aは現在Activeのウィンドウを最小化、という意味になる。最小化なんてあまり使わないよ、という人はBackSpace(戻る)あたりを振るのが良いかもしれない。私は(3ボタンマウス環境下では)「戻る」はキーボード直打ちするのと、最小化をやたら多用するので(というかウィンドウ開きまくりなので)WinMinimize。

Shift+MButtonのコマンドは長め。ちょっと複雑そうな動作もAutoHotKeyならスルッと書けます。これは基本的には選択した文字列でGoogle検索というもの。ただし選択した文字列がURLなら「ブラウザでURLを開く」になり、選択した文字列がローカルやネットワークのファイル(先頭がfile://とかC:\とか\)の場合はエクスプローラーで該当ファイルのディレクトリを開く、という動作をします。これは、私としてはかなり便利です。必需です。これだけのためにAutoHotKey入れてもいいぐらいです。ブラウザだけじゃなく、あらゆるテキストからワンクリックで検索できるというのは気持ちのいいものです。というか、これが無いと検索なんてやってられません。

キーボードのカスタマイズ

スペースキーのすぐ左という絶好の位置にありながら、使い道ゼロという凶悪さを誇る無変換キー(カタカナに変換する時に使うって?全角カタカナ変換はCtrl+I、半角カタカナ変換はCtrl+Oを使いましょう)。位置的にはAltよりも遥かに親指で押しやすいというのに無駄さ100億パーセントの、この憎いキーを徹底的に弄くりまわしましょう。

無変換はvk1Dsc07Bと指定することでAutoHotKeyでカスタマイズ出来ます。&で別のキーと繋げることで組み合わせを割り振ることができるけど、複数の組み合わせは不可。例えばCtrl+無変換+aという組み合わせは不可能。その辺を留意しつつ考えてみる。

まず、ホームポジションから手を動かなくても十字キーが操作できるよう、ESDFを中心に十字、PageUp/Down、Home/Endあたりを配置。別にそこまでガチに(?)やりたくないとしても、だらーっと閲覧時の左手マウス、右手キーボードという姿勢の時に、左手は やはりasdfあたりに置くのが自然。右側にある十字キーを左手って、結構姿勢的にかったるいものです。

無変換&x,v,bはエディタ上でのちょっとした特殊動作。xは一行選択。vは下に行の追加、bは上に行の追加。ただのHomeとEndとShiftのキーマクロですが、こういうちょっとした動作が存外便利だったりするのです。特に一行選択はやたら多用しています。

矢印キーとの組み合わせはマルチディスプレイでのウィンドウ移動。頻繁に右へ左へと動かすので、一発で移せると非常に便利。私はディスプレイの大きさが違うので絶対座標で指定していますが、サイズが同じ場合なら相対座標で移した方がウィンドウが重ならないので、便利だと思います。

マウスと組み合わせることも可能。Ctrl+C,Ctrl+Vは基本的にキーボードで押すけど、マウスで押した方が便利な局面もたまにある。そしてここにBackSpace。キーボード+マウスで考えれば、3ボタンマウスでもわりと沢山詰め込めるものです。

関数

関数が書けると表現の幅が広がります。あまりかっちし書かなくても、文字列系はクリップボードを少し操作するだけで書けるのが良いところ(文字化け……という突っ込み禁止)。SandStringは指定した文字列でサンドウィッチ。a hrefとか#regionとか、何かと挟み込みたいとき用に。MoveWindowはウィンドウの移動用。1pixel単位で動かしたいんだよ!という要求に応えます。私はUstreamでキャプチャ画面と字幕表示用テキストエディタの位置微調整をしています。LineCopyは、何も選択していない状態で発動させると一行丸ごとコピーするという、気の利いたテキストエディタ(VisualStudioとか)に搭載されている機能を擬似的に再現。

アプリケーションキー!右クリックメニューがキーボードで出せるという、凄まじく無意味なキー。無意味すぎるので、これもリストラ、書き換え。アプリケーション、と名に関しているぐらいなので、アプリケーションショートカットにしてやります。Run,パス\ファイル名.exeと書くだけなので簡単。AppsKey & xがなにやらごちゃごちゃしていますが、これは指定位置、指定サイズで起動させるというもの。毎回決まった場所に置きたい、という人はこんな感じで書くと良いでしょう。Run,hoge.exeを複数行書けば、複数個同時起動になるのでインターネットセットとかお勉強セットとか動画配信セットとかを作れば、何の変哲もないショートカットよりも数段役に立ちます。

WinMinimizeやWinMoveを組み合わせることで、疑似仮想デスクトップ、みたいなことが出来るので固定配置での切り替えを多用する人は考えてみると面白いかもしれません。

記事冒頭で述べた、利用頻度ゼロのScrollLockやPause/Break、Insertは単独ショートカットキーに変更。強制終了とかタスクマネージャ一発起動(Ctrl+Shift+Esc)とか、なくても困らないけどあると地味に便利な機能のほうが、Pause/Breakなんかよりもよほど多用するってものです。

さて、残念なことにCapsLock、カタカナ/ひらがなに関してはカスタマイズ不可能。書き換えると変な動きをするので断念しました。特にCapsLockなんて、Aのすぐ左という押しやすさ特A級の位置にあるのに、大して使わないクソ動作、むしろ間違って押さえると面倒くさいことになる、というキーボード配置の不条理さの中でも最たるもの(QWERTY配列は慣れの問題で片付けられるけど、A級の位置にゴミキーが置いてあるというのは片付けようがない!)なのに、動作を書き換えられないというのは無念でならない。あ、ちなみにCtrlと入れ替えても(というか私は入れ替えていますが)どちらにせよ左下というA級の位置をゴミキーが占領するという悲しい事態に変わりはありません。仮にCapsLockをそれなりに多用するよ、という人がいたとしても、CapsLockはトグル動作でしょう?こんな押しやすい位置にある必要性は全くないのです。微妙に押しにくい位置にあるAltと入れ替わってくれた方がずっと健全です。

上に書いてきたスクリプト+アルファなファイルをここに置いておきます。autohotkey.ini あくまで一例にすぎないので、これを元にして、適当にカスタマイズしてください。

11ボタンマウスへの道

と、ここまでで3ボタンマウスでも十分だよね、という結論に達しますが、キーボードとの組み合わせなんて嫌だ!というのもごもっとも。その辺をマウスだけで完遂できるのが多ボタンマウスの良いところ。更に、キーボード+多ボタンマウスだとその組み合わせは無限大。3ボタンマウスでは左クリックと右クリックをCtrl,Shift,Altと組み合わせるのは不可能なので(複数選択を捨てれば何とかなりますが、トレードオフの代償としては少し微妙)キーボード+マウスの組み合わせは、多ボタンマウスでこそ真価を発揮するといってもいいぐらい。ただし、あまりやりすぎると自分でも把握できなかったり、普通にキーボードショートカットでいいぢゃん、となってしまうので細心のバランス取りが必要。

現時点での多ボタンマウスの最高峰はLogicool MX レボリューション MX-R。最近MX1100というものが登場しましたが、必ずしもMX-Rを置き換えるものにはなっていないようです(価格もMX-Rより安いですしね) 。なお、Microsoft製は却下。それはボタン数が少ないから、ではなくてチルトホイールの左右に対してボタン割り当てが出来ないから。チルト左右は最高に押しやすい「ボタン」なので、この部分をあまり使わない横スクロールなんかに割り当てるのは勿体ない話です。これは3ボタンマウスにおけるホイールボタンと同じ類の話。また、チルトホイール化した大型のホイールは、大抵ホイールクリックが押しづらい。よってチルトでボタン数が増えたといっても、実質はホイールボタンが-1されて+1にしかならない。だから、チルトにボタン割り当てできないということは5ボタンマウスだったら4ボタンマウス、3ボタンマウスだったら恐怖の2ボタンマウスになってしまう。

さて、Logitechと言えば最悪の出来を誇るクソドライバSetPoint。カスタマイズの自由度も、ありません。自由なボタン割り当ても出来ません。が、uberOptionsを導入することで割り当て可能にします。ここでやることは、マウスの各ボタンへ普段は絶対に使わないF13-F24を割り振ること。細かいカスタマイズは全てAutoHotKeyでやるので、ここはただ割り振るだけで良いです。uberOptionsの素晴らしいところは、そういう使い方を見越していて、その他のキーにF13-F24が用意されていること。わーぉ。昔はSetPointの設定ファイルに仮想キーを直に書き換えなきゃならなかったので、全くもって良い時代になりました。

左クリック、右クリック、中クリックはそのまま。サイドボタン手前 F13、サイドボタン奥 F14、チルト左 F15、チルト右 F16、中央手前ボタン F17、サイドホイール手前 F18、サイドホイール中央(押す)F19、サイドホイール奥 F20、というように私は振りました。

さて、あとはカスタマイズするだけ。チルトの左右は「左右」という特性を生かしてタブブラウザでのタブ左へ移動、右へ移動に振ると、飯を食いながらダラダラとウェブブラウジングを片手でするときに楽です。一度慣れるとタブの切り替えに、いちいちポインタを上まで動かすのが馬鹿らしくなる。左右タブ移動は本当に多用するので、私はキーボードのCtrl+←/→にも振っています。

ホイール手前中央ボタンは音楽プレイヤー(foobar2000)の起動/再生/停止。基本的に常に音楽をかけているのだけど、動画を見るときは当然停止させなきゃならないのでワンボタンで操作出来ると便利ですね。やたらとキーボードにボタンのついてる、所謂マルチメディアキーボードを見ると馬鹿にしたくなるのですが、まあ、便利なものは確かに便利です。特に昔と違って今はウェブサイト見るとニコニコだのYouTubeだのが張りつけられているので、再生/停止をかなり頻繁に行うようになりました。

その他。いや、その他というか、3ボタンマウスの時と同じの文字列検索とか最小化とかが必需品。でもそれ以外は、わりと使い道が、ないかなあ(笑) 3ボタンじゃ足りない、チルトが欲しいというのは確かなのでマイクロソフトの5ボタンマウス+チルトというのが実はバランスが良いのかもしれません。ホイールクリックがしやすくて、チルトにボタン割り当て可能なら喜んでマイクロソフトマウス使いたいのだけど。BlueTrackいいぢゃん、とか思ってます、あはは。

The Flash Version MapPack for Portal

また日を空けてしまいました。今回はどうにも不調で耐えられなかったのでグラフィックボード買い替え、ついでにOS再インストールしたら環境再構築が面倒で放置してて何も書く気になれなかった、というのが原因だそうです。言い訳くせー。そりゃスパムも放置ですよねですよね?

不調の原因をグラフィックボードが悪い、と決め打ちしたら当たりだったのは良かった。運が。というわけでGeforce 9600GTに買い替えたらPortalが1920×1200 60fpsで動いて歓喜。環境再構築なんてどこに行ったことやらでPortalやってましたよ、あはは。勿論、マウスで。Portalをコントローラーでやるなんて(以下略)と、どの口が言うんだか……。

なんて楽しんでいたらXBLA版の配信日も決まってしまいました。10月22日。意外と早い。で、買おうかどうか本当に悩む。Portalは去年のベストゲーム間違いなしなぐらいに素晴らしく、答えの分かってるパズルゲームでありながら既に5周はプレイしているし、Xbox360版でプレイすれば5.1chの恩恵に授かれる(PCでは2ch)、が、反面グラフィックは1280×720 30fpsに劣化、ついでに当然有料。もう既に5周もプレイしていてグラフィックも劣ってしまうもの(実績はついてるけど!)を買う意味あるん?

せめて追加マップパックがXBLA版のための新しいものなら……。1920×1200で動くのが嬉しくて、XBLA版の追加要素だというPortal: The Flash Version MapPack for Portalを入れてしまった。というわけでこのマップパックの感想。

すばらしー、です。トレイラーにあったシーンが再現されていたりと、Portalが好きであればあるほど楽しめる。後半のマップが若干微妙だったり追加ギミック(電気即死パネルとか)は蛇足なだけだったりというところもありますが、難易度も程よく(本編より少し難しい程度、というのが本編クリア後のオマケ的な性質にぴったり)ボリュームもかなりたっぷり(本編よりもある)なので文句なし。丁寧に作られたパズル、という意味では本編の上級チャンバーや最小ポータルチャレンジにあたるものがないので劣りますが、一回クリアすればおk的なマップとして考えれば全然悪くない。

Xbox360のThe Orange BoxでPortalをプレイした人も購入するだけの価値がThe Flash Version MapPackにはある。これは間違いない。素直に黙って買いでおk。でもPCでプレイしちゃった人は無料で配布されてるしXbox360版を買う意味って、実績?

Pure

オモシロイデスネ・コレ。く、Unreal Tournament 3じゃなくてこっち買えば良かったよ!先に体験版プレイしていれば……。というわけで北米アカウントで体験版の流れているPure。

トリックはスティック上下左右で異なる見た目のものが出せる。トリックに成功することでブーストゲージが溜まる。トリック中にLB or RBを押すことで派生トリック発動。ブーストゲージの長さによりA(短め)B(中ぐらい)Y(長め)のトリックが繰り出せるようになる。そして最後まで溜まればLB,RB同時押しでスペシャルトリック発動。

動画では2周目にスペシャルトリック連発で頑張りました!そこで魂尽きて3周目はボロボロでしたが……。ていうか無理にスペシャルトリック狙っても何の意味もないね。普通のトリックはブーストが溜まるから良いとして、スペシャルトリックはトリック時間が長いので非常にリスキーなのに、メリット皆無という意味不明さ。でもそこは自己満足で狙います。えへへ。

いやー、とにかく爽快です。トリックが決まって、純粋にキモチイーと思わせてくれる素敵グラフィック。操作感もばっちし。というわけで是非是非試してみてくださいな。開発はBlack Rock Studiosという新興のイギリスの会社。THQのMoto GPを開発していたチームが中核だそうだ。販売はDisney。国内版が出る確率ゼロパーセントって感じですね!THQなら間違いなく出ただろうに(笑)

Clip?

MakeYourDay

車輪の再発明どころじゃない、もっと恐ろしいものの片鱗を味わったぜ。正直悲しい。何じゃそりゃ。ここまで華々しく被ってると泣ける。まあいいけど!いいけど!いいけどね!URLをはてな用に作り替えたりとか細かいところで自分好みに出来るのが自作のイイところ。何か悔しいので近いうちにしっかりした形に整えて公開します。激しく意味が無く役に立たないこと間違いなしですが。

WebのClip。意識のClip。と思っていたのに、TwitterのClipという何とも情けない位置づけに落ちるとは思ってもいなかった。クロスポストってずっと避けたいと思っていたことなのに……。それにしても、タイトルに時間だけを出すとClipではなくTimeline。これはこれで趣があって、ますますはてダが好きになった。いや、はてダというか、デザインを自画自賛(笑)

クロスポストへの抵抗感は大分薄れたかなあ。Firefoxとはてブは連携が弱すぎて、はてブ使う気になれない!とか思ってたんですが、弱い連携はクロスポストでdel.icio.usにも送れば問題解決になっちゃいますしね。ブクマコメをはてブで楽しみ、実用面ではdel.icio.usで。いいぢゃん。抵抗感さえ薄れてしまえば、無限大に世界は広がりますね。

Search/Archive

Category

Profile


Yoshifumi Kawai
Microsoft MVP for Developer Technologies(C#)

April 2011
|
July 2020

Twitter:@neuecc
GitHub:neuecc
ils@neue.cc