とりあえずしらべまくってできました
#uselib "winmm.dll"
#func _joyGetPosEx "joyGetPosEx" int, var
goto *start
#deffunc joyGetPosEx array p1, int p2
p1.15=0:p1=52,255
_joyGetPosEx p2,p1
return
*start
repeat
wait 10
joyGetPosEx data, 0
if data.2=0 :mes "←"
if data.2=65535 :mes "→"
if data.3=0 :mes "↑"
if data.3=65535 :mes "↓"
if data.8&(1<<0) :mes "ボタン1"
if data.8&(1<<1) :mes "ボタン2"
if data.8&(1<<2) :mes "ボタン3"
if data.8&(1<<3) :mes "ボタン4"
if data.8&(1<<4) :mes "ボタン5"
loop