While I don't claim to have tested this in Supermodel - Here are a couple of Glovepie scripts I wrote for various reasons. The first one is (if my terrible naming convention is correct) for Virtua Cop on the M2 emulator. I wouldn't imagine it is much different to Supermodel in all honesty.
// Wiimote mouse script for Windows desktop
// Requires a sensor bar
var.ButtonFreezeTime = 250ms
var.PointerBump = KeepDown(Pressed(wiimote.A),var.ButtonFreezeTime) or KeepDown(Pressed(wiimote.B),var.ButtonFreezeTime)
Wiimote.Led1 = true
// Mouse movement
if wiimote.PointerVisible but not var.PointerBump then
mouse.x = wiimote.PointerX
mouse.y = wiimote.PointerY
end if
// Mouse Buttons
mouse.LeftButton = Wiimote.B
mouse.LeftButton = Nunchuck.Z
mouse.RightButton = Nunchuck.JoyX
mouse.RightButton = Nunchuck.JoyY
mouse.MiddleButton = Wiimote.Home and KeepDown(Wiimote.PointerVisible,0.5s)
mouse.XButton1 = Wiimote.Minus
mouse.XButton2 = Wiimote.Plus
// Keyboard Buttons
Z = Wiimote.Plus
X = Wiimote.Minus
c = Wiimote.A
V = Wiimote.One
B = Wiimote.One
N = Wiimote.Two
Up = Wiimote.Up
Down = Wiimote.Down
Left = Wiimote.Left
Right = Wiimote.Right
endif
// Mouse Wheel
if wiimote.Up then
mouse.WheelUp = true
wait 30ms
mouse.WheelUp = false
wait 30ms
end if
if wiimote.Down then
mouse.WheelDown = true
wait 30ms
mouse.WheelDown = false
wait 30ms
end if
And here is a script for the PC version of HotD. It's a shotgun in-game and controls slightly differently. If the first script is a dead-end (although I suspect it is more likely to work than this), give it a go:
/*Controls:
Point Wiimote = Move Mouse
D-Pad = Arrow Keys
Home = 'Start'
Minus = Normal fire rate
Plus = Rapid fire rate
Handgun mode:
B Button = Fire
A Button = Reload
Plus and Minus = Control Volume
Shotgun mode: (attach Nunchuk)
Z Button = Fire
Joystick down or vertical Nunchuk shake = Reload
*/
/*Calibration:
To calibrate, run this program and put the Wiimote on a flat surface face-up.
Then read the values in the debug line (next to the run button).
Change these values until the debug line reads approx. all zeros.
*/
var.XTrim = 9
var.YTrim = -40
var.ZTrim = 10
//Options:
var.Deadzone = 2 /*distance in pixels that you have to move the wiimote in
order for it to register movement. Creates a "dead zone" around the pointer
to make it easier to click. Higher = smoother but less accurate. */
//Set rate of fire - lower number = faster firing ('Minus' Button' resets to default)
If var.SetRate = "Plus"
var.Rate = 10
ElseIf var.SetRate = "Minus"
var.Rate = 75
EndIf
//Check for Nunchuk
If Wiimote.HasNunchuk
var.Shotgun = True
var.Handgun = False
Else
var.Handgun = True
var.Shotgun = False
EndIf
//Check rate of fire setting
If Wiimote.Plus
var.SetRate = "Plus"
ElseIf Wiimote.Minus
var.SetRate = "Minus"
EndIf
//Set Rumble force
If var.Rumble Then
wiimote.Rumble = 1
wait 100 ms
wiimote.Rumble = 0
EndIf
//Keyboard directional controls
Up = Wiimote.Up
Down = Wiimote.Down
Left = Wiimote.Left
Right = Wiimote.Right
//Shotgun controls
If var.Shotgun
If Nunchuk.ZButton
var.Fir = True
EndIf
If (Nunchuk.JoyY > 0.25) or (Nunchuk.RawAccY >= 15)
var.Rel = True
EndIf
EndIf
//Handgun controls
If var.Handgun
If Wiimote.B
var.Fir = True
EndIf
If Wiimote.A
var.Rel = True
EndIf
EndIf
//LED and Rumble settings
var.Rumble = False
If var.Fir
Mouse.LeftButton = True
If Wiimote.Plus
var.Rate = 10
Else
var.Rate = 75
EndIf
//LED chamber flare
Wiimote.LEDS = 6
Wait 75 ms
Wiimote.LEDS = 15
Wait 50 ms
Wiimote.LEDS = 0
//Rumble recoil
var.Rumble = True
wait var.Rate ms
Mouse.LeftButton = False
EndIf
var.Fir = False
If var.Rel
Mouse.RightButton = True
//Rumble reload
var.Rumble = True
wait 300 ms
Mouse.RightButton = False
EndIf
var.Rel = False
//Start
Keyboard.Enter = Wiimote.Home
var.ButtonFreezeTime = 250ms
var.PointerBump = KeepDown(Pressed(wiimote.A),var.ButtonFreezeTime) or KeepDown(Pressed(wiimote.B),var.ButtonFreezeTime)
Wiimote.Led1 = true
// Mouse movement
if wiimote.PointerVisible but not var.PointerBump then
mouse.x = wiimote.PointerX
mouse.y = wiimote.PointerY
end if
Debug = var.AccX + " " + var.AccY + " " + var.AccZ