# pad button -> action table 0x4e9800 (17 x {action id, SCE pad mask, name ptr}) used by PadMgr_DispatchActionEvents
0x120,0x0800,start
0x121,0x0100,select
0x122,0x0010,triangle
0x123,0x0040,X
0x124,0x0080,square
0x125,0x0020,circle
0x126,0x0004,L1
0x127,0x0001,L2
0x128,0x0008,R1
0x129,0x0002,R2
0x12a,0x0800,start
0x12b,0x0400,right joystick
0x13c,0x1000,up
0x13d,0x4000,down
0x13e,0x8000,left
0x13f,0x2000,right
0x12c,0x0200,left joystick
# pad button -> GUI key id table 0x4e98d0 (15 x {key id (DIK or 0x100/0x101), mask, name}) used by PadMgr_DispatchGuiKeyEvents
0x100,0x0040,X
0x100,0x0008,R1
0x100,0x0002,R2
0x101,0x0020,circle
0xc7,0x0020,circle
0xd3,0x0004,L1
0xd1,0x0008,R1
0x2b,0x0080,square
0xe,0x0010,triangle
0x1c,0x0040,X
0xc8,0x1000,up
0xd0,0x4000,down
0xcb,0x8000,left
0xcd,0x2000,right
0x1,0x0800,start
# stick->axis schemes. entry {axisId(neg=invert), stickSlot}; stickSlot 0=lx 1=ly 2=rx 3=ry. 0x511ef8=ground(Rynn) 0x511f08=air(Arokh); index = scheme A/B/C
0x511ef8 scheme A [(0, 0), (1, 3), (-2, 1), (5, 2)]
0x511ef8 scheme B [(0, 0), (1, 3), (-2, 1), (5, 2)]
0x511ef8 scheme C [(3, 0), (1, 3), (-2, 1), (0, 2)]
0x511f08 scheme A [(0, 0), (1, 3), (-2, 1), (0, 2)]
0x511f08 scheme B [(0, 0), (1, 3), (-2, 1), (0, 2)]
0x511f08 scheme C [(3, 0), (1, 3), (-2, 1), (0, 2)]
# pad button -> command schemes: 0x511ed8 (normal), 0x511ee8 (alt); 12 entries {action id, command}
0x511ed8 A [('0x122', '0x4011'), ('0x123', '0x4012'), ('0x124', '0x4006'), ('0x125', '0x4007'), ('0x126', '0x4009'), ('0x127', '0x400c'), ('0x128', '0x403a'), ('0x129', '0x400b'), ('0x13c', '0x4019'), ('0x13d', '0x4020'), ('0x13e', '0x4015'), ('0x13f', '0x4016')]
0x511ed8 B [('0x122', '0x4009'), ('0x123', '0x4006'), ('0x124', '0x403a'), ('0x125', '0x4007'), ('0x126', '0x4011'), ('0x127', '0x4012'), ('0x128', '0x400b'), ('0x129', '0x400c'), ('0x13c', '0x4019'), ('0x13d', '0x4020'), ('0x13e', '0x4015'), ('0x13f', '0x4016')]
0x511ed8 C [('0x122', '0x4009'), ('0x123', '0x400b'), ('0x124', '0x403a'), ('0x125', '0x400c'), ('0x126', '0x4011'), ('0x127', '0x4012'), ('0x128', '0x4006'), ('0x129', '0x4007'), ('0x13c', '0x4019'), ('0x13d', '0x4020'), ('0x13e', '0x4015'), ('0x13f', '0x4016')]
0x511ee8 A [('0x122', '0x4011'), ('0x123', '0x4012'), ('0x124', '0x4006'), ('0x125', '0x4007'), ('0x126', '0x4034'), ('0x127', '0x400c'), ('0x128', '0x4006'), ('0x129', '0x400b'), ('0x13c', '0x4019'), ('0x13d', '0x4020'), ('0x13e', '0x4015'), ('0x13f', '0x4016')]
0x511ee8 B [('0x122', '0x4009'), ('0x123', '0x4006'), ('0x124', '0x4034'), ('0x125', '0x4007'), ('0x126', '0x4011'), ('0x127', '0x4012'), ('0x128', '0x400b'), ('0x129', '0x400c'), ('0x13c', '0x4019'), ('0x13d', '0x4020'), ('0x13e', '0x4015'), ('0x13f', '0x4016')]
0x511ee8 C [('0x122', '0x4009'), ('0x123', '0x400b'), ('0x124', '0x4034'), ('0x125', '0x400c'), ('0x126', '0x4011'), ('0x127', '0x4012'), ('0x128', '0x4006'), ('0x129', '0x4007'), ('0x13c', '0x4019'), ('0x13d', '0x4020'), ('0x13e', '0x4015'), ('0x13f', '0x4016')]
# default keyboard (DIK scancode / 0x100.. ids) -> command table 0x54b6c8 (56 x {id,u16 cmd})
0xc->0x4052;0x4a->0x4052;0xd->0x4051;0x4e->0x4051;0x37->0x4053;0xb5->0x4054;0x2c->0x4058;0x2d->0x4059;0xd3->0x400c;0xd1->0x400b;0xcf->0x4030;0x17->0x4030;0x23->0x4036;0x24->0x4037;0x25->0x4038;0x16->0x4039;0x1a->0x4034;0x1b->0x4035;0xe->0x403a;0x2->0x403b;0x3->0x403c;0x4->0x403d;0x5->0x403e;0x6->0x403f;0x100->0x4006;0x101->0x400a;0x102->0x4007;0x114->0x4034;0x115->0x4035;0x120->0x4006;0x121->0x4030;0x12b->0x400a;0x36->0x4011;0x14->0x4011;0x22->0x4012;0x9d->0x4012;0xc8->0x4019;0xd0->0x4020;0xcb->0x4013;0xcd->0x4014;0x2b->0x4056;0x52->0x4010;0x2a->0x4010;0x4f->0x4007;0x1e->0x4007;0x35->0x4008;0x1c->0x4009;0x39->0x4009;0x10->0x4002;0x26->0x4003;0x18->0x4043;0x3b->0x4031;0x3c->0x4044;0x3d->0x4045;0x3e->0x4050;0x3f->0x4055
# key name table (dead data, no code refs) starts ~0x521724, 0x20-byte records {u32 dik, u16 ch, u16 shifted_ch, ..., name}; mouse names 0x522450 (L-MOUSE,R-MOUSE,M-MOUSE,MOUSE03..15,MOUSEX+/-,MOUSEY+/-), joy names 0x5226b8
