JMRIやDCC-EXをAnrdoidスマートフォンから操作するためのアプリであるEngineDriverにはUSBデバイスで操作する機能が搭載されています。基本的にはUSBゲームパッドを接続することが想定されているのですが、キーボードを接続することも可能になっています。また、世の中には左手デバイスとしてダイヤル(ロータリエンコーダ)を搭載したカスタムキーボードが数多く市販されています。これらを組み合わせることで、DCC車両を遠隔でダイヤル操作することが可能になります。

基本知識
- スマホにUSB機器を接続するには、そもそもスマホがUSBホスト機能に対応している必要がありますが、ここ最近のUSB TypeCコネクタを搭載したスマホであればほとんどはその機能に対応しています。
- EngineDriverは「+」キーを押されたら速度を1ステップあげ、「-」キーが押されたら速度を1ステップさげる、のように機能ごとに特定のキー入力が割り振られています。ただし10番以上のファンクション操作などは「F10」のように複数キー入力が必要になる点に注意が必要です。
- カスタムキーボードは、一般的にそれぞれのキースイッチに自由にキー入力が割り振れます。その中でもキーを押されたときに複数のキー入力を発生させられる、いわゆるマクロ入力が可能なタイプのカスタムキーボードであればEngineDriverのほぼ全ての機能が利用できるようになります。
カスタムキーボードを設定する
今回自分が購入したのはこちらの製品です。この辺の中華製品は設定ツールの出どころが怪しかったりするのが悩みなのですが、価格が安いのと、なによりバリエーションが豊富なのがありがたいです。この製品を利用するときはあくまでもご自身の責任の上でご利用ください(とくに設定ツールのウィルススキャンなどは忘れずに)。なお、技適が取得されていない無線デバイスも多く悩みどころです(自分は無線従事者ですので電波法は遵守しております)。ほかの同様の製品でも同じように設定すれば利用できると思いますので以下に設定方法を一例として紹介します。

PCで設定ツールを開き、カスタムキーボードをUSB接続するとこのようになります。こちらはすでに設定済みの例です。それぞれのキーやダイヤルの回転方向の部分をクリックし、そのキーや回転が起きたときに出力するキー設定を下のリストから入力していきます。設定を削除するときは右の「Clear」を押します。ここでは次のように設定しています。特にファンクション周りの設定は各自好きなものに設定するのが良いでしょう。設定ができたら右の「Download」をクリックしてカスタムキーボードに設定を書き込みます。一度書き込めば再接続しても設定が記憶されています。
- ダイヤル時計回り:「+」キー。走行速度上昇
- ダイヤル反時計周り:「-」キー。走行速度下降
- ダイヤル押し込み:「D」キー。進行方向切り替え
- 1番キー:「N」キー。複数スロットル表示時、次の操作対象を次のスロットルに切り替え
- 2番キー:「2」キー。ファンクション2を操作
- 3番キー:「1」キー。ファンクション1を操作
- 4番キー:「0」キー。ファンクション0を操作
ここでは、主に手でカスタムキーボードを持って操作する関係上、最初の写真のように通常とは上下逆位置にするとダイヤル操作がしやすいと感じたため、ファンクションは設定画面上の右を若番にしています。
また、ファンクション操作はマクロで「F00」のように設定することも可能ですが、EngineDriver側の認識が不安定なのであまりおすすめしません。また、「押している間だけ」タイプの例えば警笛のような操作は数字キーのみにしか対応していません。
Androidを設定する

このデバイスがキーボードであることから、Androidに普通に接続すると通常のフリック入力などの画面キーボードが非表示になってしまいます。それだと各種入力ができなくなってしまいますので、Android上の設定で、USBキーボードが繋がれても画面キーボードを使う設定を有効にしておきましょう。
EngineDriverを設定する

カスタムキーボードを接続した状態でEngineDriverを実行し、設定画面に入ります。
下の方にある「ゲームパッドの設定」を開きます。USB接続機器に関する設定はすべてこの中にあるため、キーボードの場合もここの中に設定があります。

キーボードが選択されている場合はこのような画面になります。ここに表示されているのはほとんどがヘルプで、EngineDriverが対応している操作のリストとなっています。
この状態で接続したカスタムキーボードを操作すると上部の「すべてのコード」というところに入力されたキー操作が時系列で表示されます。キーコード表示となるため、直感的には正しいキー操作が行われているのかはわからないかと思いますが、とにかく正しく接続されていることの確認はできるかと思います。
この画面はEngineDriverを起動し直して以後、USB接続をしてカスタムキーボードを始めて操作するときに毎度表示されるようになります。
あとはスロットル画面に戻り、ボタンをタップしての操作の代わりにカスタムキーボードを操作することで列車運転が可能になります。
操作対象列車の切り替え

カスタムキーボードで割り当てた「N」キーを押すと操作対象が次のスロットルに移動します。ここではアドレス3と4の列車を操作できるようにしていますが、アドレス表示右側の速度表示のところに小さく「1」という数字が書かれています。これがコントローラ1により操作される対象、という意味になっています。これがNキーを押す事に入れ替わり、一つのカスタムキーボードだけでも複数の列車を操作できるようになります。USB接続のコントローラは複数接続することができ、接続数を増やしたときはここに「2」などが表示されます。
ちなみに余談ですが、EngineDriverはスマホのボリュームボタンを使ってスロットル操作をすることもできますが、その操作対象は同様に速度表示のところに小さく「V」と書かれたスロットルになります。こちらですが、スロットルの速度表示部分をタップすることで操作対象を切り替えることができます。片方をボリューム操作で、もう片方をカスタムキーボード操作で、のような使い分けもできるので、随時設定すると便利でしょう。