Steam入力を使ってJoy-conを左手デバイス化する
こんにちは。空論/秒です。
今回はJoy-conをsteam入力を用いて左手デバイス化し、Asepriteで用いる方法(Asepite以外にも応用できる)について書きます。
今日思い立って今日試行錯誤し、今日この記事を書いているので不正確・検証不足の部分があるかもしれません。ご了承ください。
液タブの横にこうやって二個並べて使ってます。もちろん片方だけでもできます。
最初に注意点ですが、Joy-conをこれから買おうという方の場合、Joy-conは専用の充電器かswitch本体が無いと充電できないので気をつけてください。
経緯
最初に、同じことで困った方がいるかもしれないので簡単に事の経緯を説明します。
ミスで手元にJoy-conが余っており、有効活用するために左手デバイス化したいと思って調べたところ、「Joy-to-key」というソフトを用いて行うのが一般的なようだったのでまずそれを試しました。
やり方についてはネットでたくさん出回っていますので検索してみてください。
しかし、PCへはきちんと接続されているようなのに上手く動かない。
調べてみると、Steamが起動していると上手く動かないという記事を見つけました。
対処法としては普通にSteamを終了させ、ペアリングしなおせばOKです。
何故このような現象が起こるのかというと、Steam側に外部コントローラーの入力をPCに反映させる、Joy-to-keyのような機能がもともとついており、そちらの認識が優先されてしてしまうためJoy-to-keyで反応しないということのようです。
これでひとまず解決……なのですが僕が普段使っているAsepriteはSteam経由で起動するソフトであり、どうせSteam側にその機能があるのならJoy-to-key等のソフトを導入せずSteam側の設定をいじることによってJoy-conを左手デバイス化できないのか?と思い試した、という次第です。
先に結論を書くと、
Steamだけを使ってJoy-conを左手デバイス化することはできる、がAseprite起動時にSteamが起動しないようにするのとどちらが楽かはわからない
です
やり方
まずPCにJoy-conをペアリングします。
PCの「設定」アプリを開き、「Bluetoothとデバイス」→「デバイスの追加」と進みます。
Joy-con側は他にペアリングしているデバイスがある場合は解除し、側面のボタンを押してペアリングモードにします。
側面のランプが順番に点灯していればペアリングモード、一つだけ点灯になったらPCへの接続完了です。(Steamを開かずに用いる場合、側面のランプは順番に点灯する動きのまま変化しません。Joy-to-key等のソフトを用いたい場合はその状態であれば用いれます。)
Steamを開き、左上の「Steam」と書いてあるところをクリックします。
すると「設定」という項目があるのでそこを開き、「コントローラー」を開きます。
この画面がでたらOKです。
なんらかの理由でJoy-conが接続できていない場合、ここで「コントローラーがありません」という旨の表示が出ます。
次にこの画面を下までスクロールします。
一番下の「ゲーム以外のコントローラーのレイアウト」→「デスクトップレイアウト」→「編集」をクリックします。
するとこの画面になります。
「Steam入力を有効にする」がONになっていない場合、押してONにするとこの画面になると思います。
ここまで来たらあとはショートカットを割り当てるだけです。
「レイアウトを編集」を押してください。
各ボタンやジョイスティックにキーボードコマンドを割り当てることが出来ます。
ただしいくつか注意点があります!
普通にやるとほぼつまずくであろうポイントなので、必ず最後まで読んでから試すことをお勧めします!
注意点
1. AボタンとBボタン、XボタンとYボタンは逆になる
これに関してはおそらく任天堂のボタン配置とそれ以外のボタン配置が異なるためだと思うのですが、ボタンが逆になります。
コントローラーの設定画面に「Nintendoボタンレイアウトを使用」という項目があるのですが、ここを変えても何故か反映されませんでした。
これについては僕も対処法がわからないので知っている方いたら教えてください。
(ただ、設定と実際の操作が逆になるだけなので用いるのにはあまり支障はない)
2. Ctrl+Zなど、複数キー入力の設定の仕方について
まずこの画面の、それぞれのボタンの行にある歯車マークを押してください。
すると設定が開くので「サブコマンドの設定」を押してください。
メインコマンドにCtrlキー、サブコマンドにその後に入力するキーを設定します。(上の画像のような感じで)
その後Ctrlキーの方(メインコマンド)の「歯車ボタン」→「設定」と進み、「実行終了遅延」を10にします。(10近辺であれば意図したように動きますが、それ以外は試していないのでわかりません)
何故こうするのかというとそのままサブコマンドを設定しただけだと「Ctrlキーを押した後Zキーを押す」というような動作になってしまうためです。
ちなみに「追加コマンド」は同時押し入力を行うコマンドなのでそちらでも上手くいきそうに思えるのですが、何故か上手く入力されないのでこのやり方に落ち着きました。
追加コマンドで上手くできたよという方がいましたら教えてください。
3. SteamライブラリのAsepriteの項目からコントローラーの編集を行っても反映されない
3つ目についてはここまでの説明通りに導入した場合は関係のない注意点です。
Steamを起動し「ライブラリ」のタブを見るといままでSteam経由でインストールしたゲームなどが一覧になって見れます。
ここでAsepriteの項目を開くと、「起動」という緑のボタンの右のほうにコントローラーのマークのボタンがあります。
ここを押すと各ゲームごとにコントローラーの設定が出来るのですが、Asepriteの場合はここから変更を行っても反映されません。
おそらく原因はAseprite側が対応していないためです。
先ほどSteam自体の設定からコントローラーの設定を行いましたが、これは「ゲーム以外のコントローラのレイアウト」とあるのでおそらくAsepriteはそっちに含まれているのだと思います。
他のソフトでもソフト別の方から設定して上手く反映されない場合、このやり方できるかもしれません。
まとめ
Joy-conをSteam入力を使って左手デバイス化する方法について書きました。
冒頭の方にも書きましたが、Steamが起動しないように設定し、Joy-to-keyなどをもちいて左手デバイス化する方法とどちらが楽なのかわかりません。
ただ、せっかくSteamにもその機能があるなら使い方を開拓したいと思って書いた記事でした。
最後に僕の設定を載せておきます
十字上:Mキー(矩形選択)
十字下:Bキー(ペン)
十字左:Gキー(バケツ)
十字右:Qキー(投げ縄)
右ジョイスティック
上:コピー
下:Shift(四角や丸を正方形、正円に描ける、レイヤーの複数選択など色々)
左:ペースト
右:Ctrl(押している間のみ移動ツール)
A:戻る
B:進む
X:Ctrl+D(選択解除)
Y:Backspace
+:保存
-:Xキー(背景色と描画色を切り替え、グラデを作るときなどに使う)
これらの設定をSteamのコミュニティにアップロードしたのですが、できているのかわかりません。
この画面の「現在のボタンレイアウト」と書いてある部分の下の右向き三角▷を押し、「検索」のところからAsepriteといれたら出てくるかもしれません。無理だったらすみません。(調べましたがやり方としてはこれであっているようで、何故出てこないときがあるのかわからないです)
これで記事は終わりです。
僕はこのやり方にたどり着くまでにかなり時間がかかり、GWが1日消し飛びました。
誰かの役に立ったら僕のGWも成仏できるでしょう。
空論/秒