Meridim : リモコン受信
Meridim配列ではリモコン受信値の配列格納をPS2,PS3系に準じることで,
多種多様なコントローラーの受信値を一般化して取り扱います.
Meridim90 配列番号 | キー | 説明 |
---|---|---|
index[15] | index[MRD_PAD_BUTTONS] | ボタン入力 |
ボタン入力
一般化した場合の入力値 (JOYPAD_GENERALIZE = 1)
Type\bit | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PS2 | select | Stk_L3 | Stk_R3 | start | ↑ | → | ↓ | ← | L2 | R2 | L1 | R1 | △ | ○ | × | □ | ||
PS3 | select | Stk_L3 | Stk_R3 | start | ↑ | → | ↓ | ← | L2 | R2 | L1 | R1 | △ | ○ | × | □ | ps | |
PS4 | share | Stk_L3 | Stk_R3 | options | ↑ | → | ↓ | ← | L2 | R2 | L1 | R1 | △ | ○ | × | □ | ps | touch |
KRC-5FH | SP1(15) | SP2(368) | ↑ | → | ↓ | ← | L2 | R2 | L1 | R1 | △ | ○ | × | □ | ||||
Wii | + | home | - | ↑ | → | ↓ | ← | ○A | ○2 | ○1 | □B | |||||||
val | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192 | 16384 | 32768 | 80 | 160 |
一般化しない場合の入力値 (JOYPAD_GENERALIZE = 0)
Type\bit | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | ||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
PS2 | select | Stk_R3 | Stk_L3 | start | ↑ | → | ↓ | ← | L2 | R2 | L1 | R1 | △ | ○ | × | □ | ||
PS3 | select | Stk_R3 | Stk_L3 | start | ↑ | → | ↓ | ← | L2 | R2 | L1 | R1 | △ | ○ | × | □ | ||
PS4 | share | Stk_R3 | Stk_L3 | options | ↑ | → | ↓ | ← | L2 | R2 | L1 | R1 | △ | ○ | × | □ | ||
KRC-5FH | ↑ | ↓ | → | ← | △ | × | ○ | □ | L1 | L2 | R1 | R2 | SP1 | SP2 | ||||
Wii | ↓ | ↑ | → | ← | + | ○2 | ○1 | □B | ○A | - | home | |||||||
val | 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 512 | 1024 | 2048 | 4096 | 8192 | 16384 | 32768 | 15 | 368 |
スティック入力
Meridim90 配列番号 | キー | ビット | 説明 | val |
---|---|---|---|---|
index[16] | index[MRD_PAD_STICK_L] | 上位8ビット | Stick_L_x | -127~+127 |
下位8ビット | Stick_L_y | -127~+127 | ||
index[17] | index[MRD_PAD_STICK_R] | 上位8ビット | Stick_L_x | -127~+127 |
下位8ビット | Stick_L_y | -127~+127 | ||
index[18] | index[MRD_PAD_L2R2ANALOG] | 上位8ビット | L2アナログ | 0~+255 |
下位8ビット | R2アナログ | 0~255 |
ボタンの変換テーブル
unsigned short型に1ビット目から順にボタンフラグを格納していく場合の変換テーブル
WiiリモコンからPS系への変換テーブル(wiimote.h使用時)
PAD_TABLE_WIIMOTE_SOLO[16] = {0x1000, 0x0080, 0x0000, 0x0010, 0x0200, 0x0400, 0x0100, 0x0800, 0x0000, 0x0000, 0x0000, 0x0000, 0x0008, 0x0001, 0x0002, 0x0004};
Wiiリモコンのオリジナル値への変換テーブル(wiimote.h使用時)
PAD_TABLE_WIIMOTE_ORIG[16] = {0x0100, 0x0200, 0x0400, 0x0800, 0x1000, 0x0000, 0x0000, 0x0000, 0x0001, 0x0002, 0x0004, 0x0008, 0x0010, 0x0000, 0x0000, 0x0080};
KRC5FHからPS系への変換テーブル
PAD_TABLE_KRC5FH_TO_COMMON[16] = {0, 64, 32, 128, 1, 4, 2, 8, 1024, 4096, 512, 2048, 16, 64, 32, 256};
※ 変換前に値が15なら結果に1を論理和し, 0b1111111111110000で論理積して左十字ボタンのクリア
※ 変換前に値が368なら結果に8を論理和し, 0b1111111010001111で論理積して右十字ボタンのクリア
※ 変換後に0b11111111111111001と論理積でフィルタリングする