pad_j2k      [w]

20250128 アナログ入力軸ぶれ用にゼロイン補正を追加、及びgetAnyPadIDからPOV(アナログ入力)の検知を削除 20250125 再調整… 20250120 再調整 20250118 再認識・不正終了への対策 -------------------------------------------------------------------------------- -- pad_j2k Extension -------------------------------------------------------------------------------- 動作までの配置 CF25\Extensions\Unicode\pad_j2k.mfx CF25\Data\Runtime\Unicode\pad_j2k.mfx ---------------------------------------------------------------------- 動作仕様(差し直しについて) 基本的に同一機器の差し直しが有効になるように対応していますが 異なる機器へ変更した場合については正しく動作しないケースがあります。 機器へ変更した場合の動作について以下のようになります。 (OS側に認識順位のようなものがあり、xinputが上位に位置しています) Dinput機器からDinput機器へ差し替えた場合(問題なし) Dinput機器からXinput機器へ差し替えた場合(問題なし) Xinput機器からDinput機器へ差し替えた場合(自動認識外とし、getAnyPadID等で調整が必要) Xinput機器からXinput機器(未確認ですが恐らく問題ないと思います) ---------------------------------------------------------------------- ■Action SetPlayerAndPadID( player , pad_id ) プレイヤーと接続されているパッドを紐付けします SetCFControlKey( player , button number , key code ) CF標準コントロールのキー情報を任意に変更します XInputSetVibration( LeftMotorSpeed , RightMotorSpeed ) 接続しているXInput機器のバイブレーション機能を設定します SetJoyToKey( pad_button , keycode ) パッドボタンに対し、任意のキーを押したことにできます SaveSetting( filename ) 現在の設定情報を保存します LoadSetting( filename ) 設定情報を読み込みます SetVirtualButton( real button , change button ) 任意のパッドのボタンを、別のボタンを押した事にできます(仮想ボタン) ResetKey 入力されているキー情報をリセットします ReLoadDeviceList 接続されている機器情報を再読み込みします POVZeroIN 呼び出されたタイミングでアナログスティックの入力位置をゼロ基準にした補正を掛けます (これは途中で別機器に差し直した場合にも有効な情報になり、再びZeroINで上書きされるまで補正情報は使用されます) ---------------------------------------------------------------------- ■Expressions getDeviceName$ デバイス名を取得します getAnyPadID 入力があったパッドIDを取得します getInputKeyCode 入力されたキーコードを取得します getInputPadButtonNumber( pad_num ) 任意のパッドからの入力されたボタン番号を取得します getJoyToKeySetting( button_number_0_15 ) パッドボタンに関連付けられた、キーコードを取得します getCFControlKey( PlayerId_0_3 , Button_0_7 ) CF標準コントローラーに設定されているキーコードを取得します IsXInput 接続している機器がXinput機器か返します getPadID 現在設定している機器番号を返します IsError エラーが起きている場合に値を返します getVirtualButtonSetting(button_number_0_15) 設定されている仮想ボタンの値を取得します ---------------------------------------------------------------------- ■conditions PressedKey( KeyCode ) 任意のキーが押された場合に呼び出されます RepeatPressedKey( KeyCode ) 任意のキーが押し続けられている場合に呼び出されます PressedButton( Button (0-16) ) 任意のボタンが押された場合に呼び出されます(仮想対応) RepeatPressedButton( Button (0-16) ) 任意のボタンが押し続けられている場合に呼び出されます(仮想対応) LoadFailed 設定ファイルの読み込みに失敗した場合に呼ばれます ================================================================================ □あとがき 別エクステンションであるpad_attachの再拡張版です。 前身であるエクステンションの動作テストを手伝って下さったSenda様に感謝の意を表しますと共に 今エクステンションの動作確認をして下さった皆様にも感謝の意を表します。 20250128 アナログ入力軸ぶれ用にゼロイン補正を追加、及びgetAnyPadIDからPOV(アナログ入力)の検知を削除 20250125 再調整… 20250120 再調整 20250118 再認識・不正終了への対策 20250116 Xinput差しなおし時の挙動調整2(検証済み) 認識まで若干のラグあり 20250115 Xinput差しなおし時の挙動調整1(未確認) 20250107 初版 DOWNLOAD