Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

マイコンカー操作などのための、スマホ用バーチャルコントローラー (自分用)

License

Notifications You must be signed in to change notification settings

TwoSquirrels/virtual-gamepad

Repository files navigation

Virtual Gamepad

マイコンカー操作などのための、スマホ用バーチャルコントローラーです。(もちろん PC も対応しています)

https://twosquirrels.github.io/virtual-gamepad/ から HTML をダウンロードできますが、自分用に作ったので汎用性は低いかもしれません。気に入らない場合は Fork して改造してください。Pull Request 大歓迎です。

Tip

ジョイスティック部分は nippleJS を使っています。
シンプルな構成で作ったので、Web 初心者でも読みやすいかもしれません。コメントが少ないのはごめんなさい。

License

© 2024 TwoSquirrels
MIT License に従ってください。

Usage

サーバー側 (マイコン等)

  1. 以下の規格 の形式の HTTP リクエストを処理できるプログラムを走らせます。(参考: M5Atom によるマイコンカーのサンプル)
  2. 対象のサーバーのアドレスを確認します。

コントローラー側

  1. 対象サーバー (マイコン等) のアドレスをブラウザで開きます。
  2. ジョイスティックの送信間隔 (デフォルト 100ドル~\mathrm{ms}$) を調整します。通信が詰まらない程度に小さくすることをおすすめします。
  3. A, B ボタンを使わない場合は隠します。
  4. 設定画面を閉じ、スワイプまたは WASD (+ Shift) で操作します。

Protocol

Warning

github.io 上など HTTPS のページから HTTP のホストに対して通信をするとセキュリティエラーが出ます。これはブラウザの設定で対処することもできますが、API と同じホストで HTML を配信してそちらからページにアクセスすることを推奨します。

GET /

Request

基本的にブラウザからアクセスされます。

Response

ゲームパッドの HTML を返してください。HTML は https://twosquirrels.github.io/virtual-gamepad/ から最新の物をダウンロードできるようにすることをおすすめします。

POST /joystick?p=aaff

Request

ジョイスティックが操作されている時と WASD 操作している時に設定した間隔で、ジョイスティックの極座標が以下の形式で 4ドル$ 桁の 16ドル$ 進数に変換された文字列がクエリに載って送信されます。

  • aa: 右方向を 0ドル$ として、そこから左回りで一周 256ドル$ の偏角 0ドル \leq \theta < 256$ の整数値を 16ドル$ 進数 2ドル$ 桁で表した文字列
  • ff: 中心を 0ドル$、スティックの限界を 255ドル$ とした動径 0ドル \leq r < 256$ の整数値を 16ドル$ 進数 2ドル$ 桁で表した文字列 (WASD 操作の場合は Shift 押下時 7F となります)

body は常に空です。

Response

デバッグコンソールに表示されることを除けば、無視されます。

POST /a, /b

Request

画面右側のボタンを押した時に、ボタンの中身に対応したパスに送信されます。body は常に空です。

Response

デバッグコンソールに表示されることを除けば、無視されます。

Examples

Tech Stack

Site Builder: Vite
Languages: HTML, JavaScript, CSS
Design: sanitize.css
Package Manager: pnpm
Hosting: GitHub Pages

About

マイコンカー操作などのための、スマホ用バーチャルコントローラー (自分用)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

AltStyle によって変換されたページ (->オリジナル) /