Í þessari grein ætla ég að fjalla um wiimote fyrir utan wii, þ.e. hvað er hægt að gera með wiimote-ið svona þegar þú ert ekki með hana tengda við Wii. Ég nota GlovePIE og miða greinina við það. Vinsamlegast munið að það þarf Bluetooth til að tengjast, það er hægt að kaupa USB dongle til þess tilgangs í BT og á fleiri stöðum
Byrjum á byrjuninni, hvað er hægt að gera með Wiimote-ið og hversvegna?Wiimote getur skynjað hreyfingu á þremur öxlum (XYZ), sem þýða sex „áttir“ frá núlli.Hún er jafnframt með innrauða myndavél í fremri endanum. Þessi myndavél er með upplausn upp á 1024 * 768, fjarstýringin getur svo þekkt „flekki“ af ljósi (e. Blobs). Hún skilgreinir þetta sem punkta og getur haldið fjórum slíkum aðgreindum.
Þá er það hvað er hægt að gera. Það eru til fáein forrit sem hönnuð eru fyrir PC sem sjá um að stjórna tölvunni í gegnum Wiimote. Það sem er mest „documenterað“ (skráð, skrifað um…) er GlovePIE sem er forrit sem er ekki aðeins hannað til þess að nota með Wiimote heldur líka til þess að „tala við“ annarskonar stjórntæki, t.d. SixAxis (PS3 fjarstýringuna). GlovePIE virkar þannig að þú getur skrifað inn eigin forrit og til þess er notað forritunarmál sem mér hefur sjálfum fundist ágætt að vinna með. Á ensku er talað um scripting (bara svo þið vitið hvað á að setja í google leitina). Þegar forritað er fyrir wiimote er best að skoða „script“ af http://www.wiili.org, þar eru þeir með wiki og svo forum sem er á http://www.wiili.org/forum (suprise, suprise). Eiginlega allt sem ég hef lært um GlovePIE kemur þaðan.
Þegar þú tengir Wiimote við „Bluetooth stack“ windows þá heldur þú inni 1 og 2 (gætir þurft að ýta með smá millibili) til þess að halda ljósunum blikkandi, leitar að henni með bluetooth forritinu(Hægrismellt, þegar hún birtist þar velurðu hana sem heitir RVL-CNT-01 eða eitthvað í þá áttina), svo next. Þar eftir verður að passa að þú veljir að nota ekki passkey og svo á Finish. Ekki sleppa 1 og 2/leyfa ljósunum að hætta að blikka. Svo ferðu í show devices (Hægrismellir á bluetooth iconið í taskbar), velur wiimote, smellir svo á services flipann og bíður, þegar „Drivers for keybord, mice, etc (HID)“kemur upp geturðu smellt á OK og sleppt 1 og 2. Núna á að standa connected undir Wiimote í Show Devices. Núna ertu tilbúinn til þess að byrja að nota GlovePIE.
Og hvað er svo hægt að gera? Jú, þú getur byrjað á því að nota þetta forrit:
// Ég vil taka það fram að ég gerði ekki kóðann sjálfur þótt að ég hafi eitthvað
// breytt honum eftir eigin höfði, ég fann hann á Wiili.org, er bara búinn að
// breyta honum svo mikið að ég finn ekki upprunalega kóðann.
// Offset er til þess að fá wiimote til þess að haga sér rétt, leggðu wiimote
// flatt og ýttu á run hér fyrir ofan, skrifaðu niður tölurnar sem birtast í
// glugganum og settu inn tölu, sem kemur því sem stóð í debug glugganum í
// stöðuna 0,28,0.
// T.d. ef þú færð -7,33,-6 þá skrifarðu inn 7,-5,6
var.xOffset = 0
var.yOffset = 0
var.zOffset = 0
// Músarhraðinn, Hærri tala = Hraðari mús
var.speed = 1.5
// Nákvæmnisstilling, hærri tala = minni nákvæmni
var.xCutoff = 4
var.zCutoff = 4
var.xRot = Wiimote.RawForceX + var.xOffset
var.yRot = Wiimote.RawForceY + var.yOffset
var.zRot = Wiimote.RawForceZ + var.zOffset
// Debug glugginn getur sýnt hvort eitthvað sé í gangi eða hversu hátt gildi eitthvað hefur
debug = ‘X:’ + var.xRot + ‘, ’ + ‘Y:’ + var.yRot + ‘, ’ + ‘Z:’ + var.zRot
// Kóðinn sem hreyfir músina
if var.xRot > var.xCutoff then mouse.x = mouse.x - .001 * var.speed * (var.xRot - var.xCutoff)
if var.xRot < -var.xCutoff then mouse.x = mouse.x - .001 * var.speed * (var.xRot + var.xCutoff)
if var.zRot > var.zCutoff then mouse.y = mouse.y - .001 * var.speed * (var.zRot - var.zCutoff)
if var.zRot < -var.zCutoff then mouse.y = mouse.y - .001 * var.speed * (var.zRot + var.zCutoff)
//Scroll í allar áttir
if wiimote.Up then
Mouse.WheelUp = true
wait 120 ms
Mouse.WheelUp = false
endif
if wiimote.Down then
Mouse.WheelDown = true
wait 120 ms
Mouse.WheelDown = false
endif
if wiimote.Left then
Mouse.WheelLeft = true
wait 120 ms
Mouse.WheelLeft = false
endif
if wiimote.Right then
Mouse.WheelRight = true
wait 120 ms
Mouse.WheelRight = false
endif
// Takkastillingarnar, breytið og bætið
Key.Alt + Key.Four = Wiimote.One
Key.Alt + Key.Tab = Wiimote.Two
Mouse.RightButton = Wiimote.B
Mouse.LeftButton = Wiimote.A
Mouse.MiddleButton = Wiimote.Home
// Takið skástrikin út hér fyrir neðan ef þið
// viljið að wiimote titri þegar ýtt er á ctrl
// if Key.Control AND wiimote.Rumble = false then
// wiimote.rumble = true
// elseif key.Control AND wiimote.rumble = true then
// wiimote.rumble = false
// endif
// Ljósadund 1, 2, 3 og 4 kveikja á ljósunum á wiimote
if key.one
wiimote.Led1 = true
wait 120ms
wiimote.led1 = false
endif
if key.two
wiimote.led2 = true
wait 120ms
wiimote.led2 = false
endif
if key.three
wiimote.led3 = true
wait 120ms
wiimote.led3 = false
endif
if key.four
wiimote.led4 = true
wait 120ms
wiimote.led4 = false
endif
Paste-ið þetta bara inn í GlovePIE og stillið, þá ætti þetta að virka. Ef að hann segir að helmingurinn af kóðanum sé vitlaus (rautt allstaðar), save-ið og lokið GlovePIE og opnið það svo aftur.
Johnny Chung Lee hefur líka verið að gera áhugaverða hluti með Wiimote sem hægt er að sjá hér en ég læt ykkur um að grennslast fyrir um það.
Mínar heimildir eru wiili.org og svo síðan hans Johnny Chung Lee.