JSL4HSP3

ダウンロード

JSL4HSP3 Ver.3.0.0.3 (2023/07/19)
ダウンロード (421 KB)   サンプル ダウンロード (1 MB)

JSL4HSP3 Ver.2.2.0.1 (2023/01/29)
ダウンロード (194 KB)

内容

 JSL4HSP3(JoyShockLibrary for HSP3) は、HSP3で DualShock 4、DualSense、Nintendo、Switch Joy-Con、Nintendo Switch Pro コントローラーを使用できるようにするためのモジュールです。JibbSmart氏により開発された、JoyShockLibrary.dllをHSP3で使用するために、モジュールやマニュアルを整備し、いくつかの機能を追加したものです。

 通常のボタン操作に加え、ジャイロなどのコントローラ独自の入力を取得することができます。また、DualShock 4、DualSenseは、振動の出力にも対応しています。

 対応しているコントローラーは、以下の通り。対応していないコントローラーについては、本モジュールでは接続しても認識できません。

  • Switch Joy-Con
  • Switch Pro コントローラー
  • DualShock 4
  • DualSense

謝辞

 JSL4HSP3 は、JoyShockLibrary.dllのHSP3向けラッパーです。

 JoyShockLibrary.dll は、Jibb Smartさんが作成したものです。 本家 JoyShockLibrary はGitHubで開発及び配布が行われています。
https://github.com/JibbSmart/JoyShockLibrary
大変素晴らしいライブラリを開発いただき大変感謝しております。 このDLLがなければ、このモジュールを作成することはできませんでした。

 また開発にあたり、nennneko5787さんが作成したJoyShockLibrary.asを参考に させていただきました。ありがとうございます。このモジュールがなければ、 JoyShockLibraryを知ることすらできませんでした。
https://github.com/nennneko5787/JoyShockLibrary-For-HSP3

 MIZUSHIKIさんの JoyShockLibrary-plus-HDRumble のおかげで、あきらめていたHD振動で遊べるようになりました。ありがとうございます。
https://github.com/MIZUSHIKI/JoyShockLibrary-plus-HDRumble

ライセンス

 JSL4HSP3 は MIT ライセンスの下でライセンスされています。詳細は、添付の License.txt を参照してください。

 JoyShockLibrary.dll は MIT ライセンスの下でライセンスされています。下記アドレスのサイトを参照してください。
JoyShockLibrary, Copyright 2018-2023 Julian Smart : https://github.com/JibbSmart/JoyShockLibrary#license
https://github.com/JibbSmart/JoyShockLibrary/blob/master/LICENSE.md

動作環境

Windows10で動作確認済み。

機能

主に次のような機能に対応しています。

  • ボタン 取得
  • アナログ入力 取得(スティックとトリガー)
  • 加速度 取得
  • 角速度 取得
  • モーション 取得(センサフュージョン)
  • タッチパッド(DS4、DS5 のみ)
  • 振動 出力(DS4、DS5 のみ)
  • HD振動 出力(N のみ)(JoyShockLibrary-plus-HDRumbleが必要)
  • コントローラの色 取得(N のみ)
  • ライトバーの色 変更(DS4、DS5 のみ)
  • プレイヤーランプ 変更(N、DS5 のみ)
  • 校正(キャリブレーション)

記号の意味
N …Nintendoデバイス(Joy-Con、Pro コントローラー)
DS4 …DualShock4
DS5 …DualSense

追加機能

 JoyShockLibrary.dllには、ロール・ピッチ・ヨーを直接取得する機能はありません。 本モジュールでは、ロール・ピッチ・ヨーを手軽に取得するための命令を作成しました。

また、ロール・ピッチ・ヨーの取得に関して解説記事を用意いたしましたので、気になる方はご覧ください。
ロール・ピッチ・ヨーの取得について解説

サンプル

 導入をしやすくするため、サンプルを用意してあります。導入時の参考として活用ください。

  • ample01_入力を受け取る.hsp
    入力値を表示する基本的な使用方法の例。
  • ample02_デバイスの性能.hsp
    接続したデバイスの性能を調べて表示する。
  • ample03_デバイスの性能一括取得.hsp
    JslGetControllerInfoAndSettings命令の使用例。
  • ample04_振動機能.hsp
    振動機能を使ったサンプル。
  • ample05_詳細な入力.hsp
    コントローラから取得した情報をできるだけ多く表示するサンプル。
  • ample06_クォータニオン.hsp
    ジャイロから姿勢情報をクォータニオンで取得するサンプル。
  • ample07_コールバック.hsp
    modclbk3を使ってコールバック機能を使う不完全なサンプル。
  • ample08_1軸のみ取得.hsp
    ジャイロから取得したクォータニオンの情報を1軸だけにするサンプル。
  • ample09_ロールピッチヨー.hsp
    ジャイロからロール・ピッチ・ヨーを取得するサンプル。
  • ample10_カートレース.hsp
    ジャイロからヨー角を取得するサンプル。HGIMG4を使ったカートレース。
  • ample11_マウス.hsp
    ジャイロ機能を使ったマウス。応用すればガンコンのような利用法も考えられます。

履歴

2023/01/09
v2.2.0
・公開開始。
2023/01/29
v2.2.0.1
・JoyShockLibrary-plus-HDRumbleに対応。
2023/07/01
v3.0.0.1
  • JslGetMotionが取得するクォータニオンの配列格納順番を変更。(w,x,y,z)→(x,y,z,w)
  • JslGetSimple、JslGetIMU、JslGetMotionを横持ちに対応させました。
  • JslGetTouchStateの引数追加に伴い、JslGetTouchの引数を変更。
  • 以下の命令、関数が追加されました。
    • JslStillConnected
    • JslGetTimeSinceLastUpdate
    • JslSetConnectCallback
    • JslSetDisconnectCallback
    • JslGetControllerInfoAndSettings
    • JslSetGyroSpace
    • JslGetAutoCalibrationStatus
    • JslGetAndFlushAccumulatedGyro
  • コールバック系の命令の引数指定を間違えており、使用できなかったため修正。
  • hsファイルの説明文をすべて見直して修正。
2023/07/15
v3.0.0.2
  • サンプルを追加(sample09_ロールピッチヨー、sample10_カートレース)
  • hsファイルを少し修正。
2023/07/19
v3.0.0.3
  • 以下の命令、関数が追加されました。
    • GetAngleFromGravity
    • GetAngleRoll
    • GetAnglePitch
    • GetAngleYaw
  • サンプルを追加(sample11_マウス)

関連記事

  1. PAD設定さん 前の画像 次の画像 PAD設定さん Ver.1.10a (2022/03/31) ダウンロード(72...
  2. 加速度センサーからの取得値の処理 SIXAXISについている加速度センサーは傾きセンサではありません。 ですので、これまでのボタンやア...
  3. HSPでゲームパッド対応の話  HSPプログラムコンテスト2017が開催され、沢山のゲームが投稿されました。 ゲームなのにキーボー...
  4. アナログ入力のデッドゾーン  2021年9月現在で購入できるゲームコントローラーのほとんどは左右のアナログスティックが付いていま...
  5. ロール・ピッチ・ヨーの取得について解説 感謝 ロール・ピッチ・ヨーが必要なので作りました 計測方法の概要 計測誤差が発生する原因 解決方法1...