ダウンだけですがこんな感じです。
実行すると10点タッチと同じ効果が発生するのでご注意ください。
#uselib "user32.dll"
#cfunc InitializeTouchInjection "InitializeTouchInjection" int,int
#cfunc InjectTouchInput "InjectTouchInput" int,int
#const TOUCH_FEEDBACK_DEFAULT 1
#const TOUCH_FEEDBACK_INDIRECT 2
#const TOUCH_FEEDBACK_NONE 3
#const POINTER_FLAG_INRANGE 0x2
#const POINTER_FLAG_INCONTACT 0x4
#const POINTER_FLAG_DOWN 0x10000
#const POINTER_FLAG_UPDATE 0x20000
#const POINTER_FLAG_UP 0x40000
#const TOUCHMASK_CONTACTAREA 0x1
#const TOUCHMASK_ORIENTATION 0x2
#const TOUCHMASK_PRESSURE 0x4
#const PT_POINTER 1
#const PT_TOUCH 2
#const PT_PEN 3
#const PT_MOUSE 4
num = 10
result = InitializeTouchInjection(num, TOUCH_FEEDBACK_DEFAULT)
mes result
wait 100
dim t, 34 * num
f = 0
repeat num
margin = 2
rr = 100.0
ang = M_PI * double(cnt) / double(num)
x = 300 + int(rr * sin(ang))
y = 300 + int(rr * -cos(ang))
contact_down = POINTER_FLAG_DOWN | POINTER_FLAG_INRANGE | POINTER_FLAG_INCONTACT
// POINTER_INFO のところ
t(f + 0) = PT_TOUCH
t(f + 1) = cnt
t(f + 2) = 0
t(f + 3) = contact_down
t(f + 6) = x
t(f + 7) = y
f += 22
// POINTER_TOUCH_INFO の touchFlags 以降
t(f + 0) = 0
t(f + 1) = TOUCHMASK_CONTACTAREA
t(f + 2) = x - margin
t(f + 3) = y - margin
t(f + 4) = x + margin
t(f + 5) = y + margin
f += 12
loop
result = InjectTouchInput(num, varptr(t))
mes result