# XPadLauncher と SendKey で 8BitDo Zero2 等を左手デバイス化する方法
## 8BitDo Zero2
8BitDO Zero2 や Micro は左手デバイスのために生まれてきたゲームパッド!
もちろんゲーム用に使えるのですが「キーボードモード」というモードが搭載されており左手デバイスを意識しているのがわかります。
8BitDo Zero2 の場合キーボードモードでは下記の文字が入力できるようになります。

キーボードモードで入力できる文字をアプリのショートカットキーとして割り当てれば、左手デバイスとして使えるというわけです。
8BitDo Zero2 はお値段が非常に安いというのもポイントで、初めての左手デバイスとして最適です。
通常 2690 円ですが、セールなどで 20% ぐらい安くなります(20% OFF で 2152円)。
Amazon: https://www.amazon.co.jp/dp/B089635ZT8
## 入力できる文字を自由に変更する
本題です。
キーボードモードでは**ショートカットキーをこれらの文字に変更しないといけない**ため、通常のショートカットキーのキーのまま使いたいという人には向いていません。
そこで、XPadLauncher と SendKey を使い、任意のショートカットキーを使えるようにします。
以下 8BitDo Zero2 をモデルケースとして説明します。
### 8BitDo Zero2 の設定
X ボタンを押しながら Start ボタンを押し、XInput モードで起動します。
次に、Select ボタンを3秒間押下してペアリングモードにします。
Windows の Bluetooth の設定で [8BitDO Zero2 Gamepad] とペアリングします。
これで、Windows にゲームパッドとして認識されるようになります。
(↓の画像は既にペアリング済みです)

以降はゲームパッドの電源を入れれば自動的にペアリングされます。
### XPadLauncher
このアプリケーションはゲームパッドを使ってアプリを起動するランチャーです。
下記からダウンロードできます。
https://piksware.com/xpadlauncher
### SendKey
このアプリケーションはキーコードをアクティブなウィンドウに送信するアプリです。
下記からダウンロードできます。
https://piksware.com/sendkey
### XPadLauncher / SendKey をダウンロード
:::warning
ダウンロード時に Chrome 等のブラウザで「一般的にダウンロードされているファイルではなく、危害を及ぼす可能性があります。」といった警告が表示されることがありますが、問題ありません。
これが表示された場合は「破棄」ボタンの右隣にある矢印アイコンから「継続」を選択してダウンロードを進めてください。
XPadLauncer / SendKey 共にウィルス検査済みです。
[XPadLauncer の検査結果](https://www.virustotal.com/gui/file/344ab47d5a9bd92bf32ebc4aed72a5b1cfcaa102929449acaffbdcf6f652415d)
[SendKey の検査結果](https://www.virustotal.com/gui/file/f3c7c0569cba3ac4384278df330340a4c05ec84ba584dfe43a5ce95cb5c8052e)
:::
上記の2つをダウンロードしてきたら Zip ファイルを解凍して適切な場所に置きます。
例えば
```C:\Program Files\XPadLauncher\```
などです。
XPadLauncher と SendKey の両方ともこのフォルダに保存した物とします。
## XPadLauncher の設定
XPadKLauncher.exe を起動すると、初回のみ自動的に設定ダイアログが開きます。
(2回目以降はタスクトレイのアイコンを右クリックして Config を選んでください)

設定ダイアログ上部の [Gamepad] と書いてあるドロップダウンから ```8BitDo Zero 2 gamepad``` を選びます。
(他の 8BitDo 機器を持っている場合は画像のように2つ以上表示されることがあります)
ドロップダウンには ```Bluetooth XINPUT 互換入力デバイス``` と表示される場合もあります。
```8BitDo Zero 2 gamepad``` が表示されない場合は、こちらを選んでください。


次に、右側にある (+) ボタンを押します。

すると、↓このようになるので "Click to add Application" と書かれた部分をクリックします。

クリックするとダイアログが表示されます。

ダイアログのフォルダマークをクリックして SendKey.exe を選びます。

そうすると↓このようになります。

次に SendKey.exe の後ろにショートカットキーを書きます。
:::info
**使えるキー**
文字:A~Z, 0~9
記号: +, -, *, /, ., その他の記号は使える場合もあります
修飾キー: Ctrl, Shift, Alt
ファンクションキー:F1~F24
カーソルキー: Up, Down, Left, Right, PageUp, PageDown
その他: Esc, Back, Tab, Enter, Ins, Del, Caps
:::
:::info
**ショートカットキーの例**
Ctrl+Z
Alt+Ctrl+Shift+S
Shift+F5
**↓Ctrl+Alt+Shift+S を設定する例** (修飾キーに順番はありません)
```SendKey.exe Ctrl+Alt+Shift+S```
SendKey.exe の後ろにはスペースを入れてください。
:::
わかりやすく名前もつけると良いでしょう。

これで [OK] ボタンを押すと↓このように登録されます。

次にボタンを設定します。
設定したいゲームパッドのボタンを押しながら [+] をクリックします。

[+] の下の [×] を押すとオレンジ枠で選択されているボタンが消去されます。
(右上の [x] はアプリケーションの設定そのものを削除します)
ゲームパッドのボタンを押している間、左側のボタンインジケーターに押下状態が表示されます。
8BitDo Zero2 はボタン配置が Switch 準拠となっているため、A,B と X,Y が逆転しています。
また十字ボタンはアナログスティックとして認識されるので注意してください。
XPadLauncher は波動拳コマンド(↓ ↘ → A)のようなボタンの連なりやボタンの同時押しでもアプリを起動できるため、8BitDo Zero2 のボタンの数以上のショートカットを設定できます。
必要なショートカットを同じ要領で登録します。
:::danger
**登録が終わったら右上の [OK] ボタンを押して設定を閉じます。**
[×] ボタンや [Cancel] ボタンで閉じると設定は保存されません!
:::
これで、もう使える様になっています。
試しに Photoshop で使っている画像が↓です。

ゲームパッドの [X] ボタンを押しただけでウェブ用に保存画面が表示されています。
# さいごに
XPadLauncher と SendKey の組み合わせで 8BitDo Zero2 を左手デバイス化すれば、様々なショートカットを設定できて非常に便利です。
もちろん、XPadLauncher の本来の使い方として良く使うアプリやウェブページを登録するのも良さそうです(例えばデッサン人形アプリとか参考にしてるサイトなどを登録)。
ちなみに登録時、アイコン部分をクリックすると任意の画像を設定できます。
アイコンはショートカットキー入力時に表示されるので解りやすいアイコンを設定すると良さそうです。

:::warning
1つ注意です。
8BitDo Zero2 は 15 分触っていないと、自動電源オフになってしまいます。
ショートカットキーが入力できない時は電源オフになっていないか確認してください。
:::
お絵かきライフの一助になれば本望です。