前のページでも触れた私がHTPCで使用しているAmazonで現在1,500円ちょっとで販売されているリモコンについて先に書いておきます。このリモコンは一番上の電源ボタン、最下部の赤緑黄青の4ボタンが赤外線学習ボタンになっています。それ以外のボタンは付属のUSBアダプタを通して2.4GHz帯の信号で操作を行う仕組み。無線マウスやキーボードと同じような物です。赤外線の必要性なのですが、まずこの手のリモコンは不思議とスリープの解除が出来ません。無線マウスやキーボードは簡単に出来てリモコンは何故出来ないのか不思議ですが、私が5、6個使用したリモコン全て無理だったのでそういう仕様なのでしょう。
そこで私の場合はFLIRC USB経由の赤外線でスリープとスリープ解除を行っています。更にテレビの電源、入力切替、音量増減も赤外線。これでテレビとHTPCの操作がリモコン1つで可能に。欠点として写真の赤枠で囲っているボタンはWindowsでは認識しません。逆にそれ以外の多くのボタンは使用可能なので、下ではこのリモコンをHTPC用として使いやすくする為の話が中心になります。
前のページの下の方で紹介したFLIRC USBについて書いておきます。FLIRC USBは赤外線信号を受信して接続している機器へ命令を実行するUSBアダプタですが、公式サイトで配布されている専用のソフトウェアを使って設定を行います。Windows以外にLinuxやMacにも対応。このソフトをインストール後に実行して起動させ、メニューーバーにある「Controllers」から目的の機器を選択。私の場合はリモコンの電源ボタンでスリープとスリープの解除を行いたかったので「Media Keys」を選択して画面上にある電源ボタンをクリック。
画面上のボタンをクリックすると緑で点滅するので、その命令を割り当てる赤外線信号をFLIRC USBの受光部に向けて送信。つまりリモコンのボタンを押すわけです。「Recorded successfully」と出たら成功。逆に解除する場合は画面左下の「erase」をクリックして同じくリモコンの信号を受光部に向けて送信。これで記憶させた信号の命令が解除されます。これの繰り返しでPCをリモコンでスリープさせたりスリープ解除したり、早送りやスキップ、音量のアップダウン、ミュート、キーボードのキーの割り当ても可能。PS4のリモコン操作を割り当てればPS4に接続してリモコン操作も可能になります。
AutoHotkeyはキー操作に対して本来とは異なる入力をユーザが指定して実行する事が出来るソフトです。レビューページはこちら。例えばAキーを押したらBキーが入力されるといった具合です。このソフトの素晴らしい所は特定のソフトがアクティブの状態のみというように条件別に設定を変える事が出来るので、1つのリモコンのボタンでソフトごとに異なる命令が設定出来ます。例えばウェブブラウザがアクティブならHomeキーを押した時はホームページ表示、メディアプレイヤーがアクティブなら同じHomeキーを押しても全画面表示を実行するといった事が出来ます。
欠点としては自身で書式に基づいて命令を記述する必要があるので非常に設定が難解で、思い通り動作させるのはハードルが高いと言えます。但しAutoHotkeyの使い方や書式に関してはAutoHotkey Wikiを参考にすれば大概の事は出来ると思います。まず最初にAutoHotkeyのダウンロードページから本体のプログラムをダウンロードして下さい。私は以前までzip版を使用していましたがトラブルが多くなったのでインストーラ版の方をお勧めします。
AutoHotkeyのインストールが完了したら適当なテキストファイルを作成。文字コードは「UTF-8」にして半角英数字で自由な名前を付け拡張子を.ahkで保存。テキストエディタでahkファイルを開いたら1行目に「#InstallKeybdHook」と記述しておきます。この記述は無くても動作しますが、あるとキーの入力履歴を見る事が出来たり何かと便利になります。同時に「#UseHook」も記述した方が良いという話もありますが私の使用範囲では特に必要は感じませんでした。ここまで準備が出来たら、下に入力に対して実行する命令を記述していきます。
実際に記述する前に覚えておく必要がある事が幾つか。まずAutoHotkeyにはキーラベルというのがあり、キーを押した時に何のキーが押されたかを識別する名前となっています。例えばマルチメディアキーの再生/一時停止ボタンを押した時は「Media_Play_Pause」というラベルになっています。このラベルは書式を記述する際に必要になってくるのですが、ahkファイルを実行するとタスクトレイに最小化されているので、アイコンをダブルクリックして画面を表示させ、メニューバーにある「View」から「Key history and script info」を選択してキー入力の履歴画面を表示します。
この画面ではF5キーで更新する度に過去のキー入力の履歴とそのキーのラベルが表示されるので、マルチメディアキーやリモコンの特殊なキーが何に相当するのかを調べるのに便利な機能です。他、これはWikiを見た方が早いのですが、装飾キーは記号で記述します。例えばWindowsキーは「#」、Ctrlキーは「^」といった具合。もうこの時点で難しく感じますが、記述の基本さえ覚えておけば殆どはコピペで作る事が出来ます。
もう一つ、特定のソフトがアクティブなっている時に反映される設定の書式があります。上で書いたようにこれを覚えておくとリモコンの1つのボタンでソフトごとに異なるキーを送信出来て便利。記述は下のようになります。
「#IfWinActive」で挟んでキーの入れ替えを記述しているだけですが、上側には「ahk_class」の後にクラス名を記述します。クラス名はAutoHotkeyのタスクトレイアイコンを右クリックした際に表示されるメニューの「Window Spy」から起動するソフトで容易に調べる事が出来ます。Window Spyを起動した状態でクラス名を調べたいソフトをアクティブにすれば画面内にそのソフトのクラス名が表示されます。クラス名の他にも「ahk_exe」を使って実行ファイル名で指定する事も可能。
実行ファイル名で指定すると上のようになります。メディアプレイヤーのMPC-BEがアクティブの状態の時だけブラウザバックキーをバックスペースキーに置き換えるという内容。ここから下は実用例を書いていきます。
■キーの入れ替え
入力するキー「::」実際に送信されるキーという形で記述。上の例の場合、Appsキーを押すとTabキーが送信されます。
■装飾キーでショートカットキー入力
装飾キーとWindowsのショートカットキーを使った例。Alt+F4キーはウインドウを閉じるショートカットキーなのでブラウザホームボタンを押すとウインドウを閉じます。
■Sendコマンドでの入力
正直普通のキーの入れ替えとSendコマンドとの違いを完全に理解していません。普通の入れ替えの記述でエラーが出る場合に使用していますが、上の例だとF2キーを押した時、Winキー+方向キー上の入力になります。ウインドウを最大化するショートカットキーですね。
■ソフトの起動
AutoHotkeyはソフトを起動させる事も出来ます。上の例だとページアップボタンでkodiを起動します。「Run,」の後に実行するプログラムのパスを書くだけです。
■マウス操作と複数の命令を実行
AutoHotkeyは1つのキーで複数の操作が可能な他、マウス操作まで可能です。複数の操作を記述する場合は改行が必要。また最後に「Return」と入れておかないとループします。上の例だとF12キーを押した時、画面の横600縦250の位置をマウスで左クリック、1000ミリ秒(1秒間)待機、画面の横600縦1080の位置にカーソルを移動という命令になります。
ここら辺の書式を覚えておけばPCリモコンのボタンで様々な操作を実行出来る筈です。私の愛用のPCリモコンには「AppsKey」や「Launch_Media」「Launch_Mail」といった使わないボタンが幾つかあるので、これらにHTPCで利用するソフトの起動をAutoHotkeyで割り当てています。因みに内容の編集後はタスクトレイアイコンの右クリックメニューにある「Reload This Script」で再読み込みさせないと反映されません。
本当は2ページで完結する予定だったのですが思いの外に長くなったので次回はメディアプレイヤーについて書いていきます。