From WiiLi
//EDmouse Wiimote Arrow-keys [by marsuten @gmail.com-any improvement is welcome]
//Variables
var.speedmax = 6 //Maximum speed (pixels/frame)
var.speedmin = 1,5 //Minimum speed (pixels/frame)
var.value = 2,5 //Time to get maximum speed
var.freezetime= 300 ms
pie.FrameRate = 100 hz //Leave between 60 and 100 Hz
//Buttons
mouse.LeftButton = wiimote.B
mouse.RightButton = wiimote.A
//Freeze
var.freeze = KeepDown(Pressed(wiimote.A or wiimote.B),var.freezetime)
//Mouse
if var.active=true and var.freeze=false
mouse.x=smooth((1/(screen.Width/var.x)),3)
mouse.y=smooth((1/(screen.Height/var.y)),3)
else
var.x = MapRange(Mouse.x, 0, 1, 1, screen.Width)
var.y = MapRange(Mouse.y, 0, 1, 1, screen.Height)
endif
if not(wiimote.Up or wiimote.Down or wiimote.Left or wiimote.Right) then
var.active=false
var.frame=0
var.speed=0
else
var.frame=var.frame+((1/var.value)/removeunits(pie.realframerate))
if var.frame>1 then var.frame=1
var.speed=var.speedmin+(var.frame*(var.speedmax- var.speedmin))
var.active=true
endif
//Arrow-keys
if wiimote.down then var.y=var.y+var.speed
if wiimote.Up then var.y=var.y-var.speed
if wiimote.Right then var.x=var.x+var.speed
if wiimote.Left then var.x=var.x-var.speed