本來興致勃勃地要拿wii控制器來玩全民打棒球 ,但是中間遇到了困難就再用google找有關線上遊戲擋外掛的資料.在過程中又激盪出一個特別的想法.
前一篇有提到如何用wii手把來玩全民打棒球,搞成以後就順便來改善一下工作中一直固定姿勢的困援。
在我工作上因為人力很精簡 ,有時我要充個數去做PCB 的layout工作. 一做起碼就是一兩天跑不掉 ,整天就是左手掛在鍵盤上按快捷鍵 ,右手移動滑鼠. 如果把螢幕遮住還真跟打online game沒什麼兩樣咧 !一塊板子layout完也是腰酸背痛的. 正好在找資料的過程中看到了一盞明燈—
乍看之下 ,wii的控制器跟手裡鍵長得還真像啊 .在寫了一個glovePIE 的 script後稍微試了一下, 以後要再被抓去充數lay PCB時就可以舒服地靠在椅子上輕鬆lay囉!
另外還有一個理由跟手裡鍵的說明又是不謀而合 ,既然有了glovePIE可以寫腳本 ,那以後就不必再被PowerPCB這種很貴的商用軟體給綁住了 ,不論是用便宜的EAGLE甚至是gEDA裡的PCB ,只要改寫腳本檔都可以使用相同的方式來操作了 ,厲害吧 ?Protel 快降價吧 ,PowerPCB 快降價吧 !
// Code for using PADS PowerPCB 5.x
'debug = 'x '+ mouse.CursorPosX + 'y' + mouse.Cursorposy
'debug= 'pitch '+ wiimote.pitch
if var.init==0 then
var.init=1
var.width=10
endif
if wiimote.B==false then
key.Shift=wiimote.A
if wiimote.one then
var.xpos=mouse.CursorPosX
var.ypos=mouse.CursorPosy
key.Escape=true
wait (1ms)
key.Escape=false
mouse.CursorPos=[680, 472]
mouse.RightButton=true
wait (1ms)
mouse.RightButton=false
wait (1ms)
mouse.CursorPos=[731, 511]
mouse.LeftButton=true
wait (1ms)
mouse.LeftButton=false
mouse.CursorPos=[var.xpos,var.ypos]
wait (1s)
endif
if wiimote.two then
var.xpos=mouse.CursorPosX
var.ypos=mouse.CursorPosy
key.Escape=true
wait (1ms)
key.Escape=false
mouse.CursorPos=[680, 472]
mouse.RightButton=true
wait (1ms)
mouse.RightButton=false
wait (1ms)
mouse.CursorPos=[731, 623]
mouse.LeftButton=true
wait (1ms)
mouse.LeftButton=false
mouse.CursorPos=[var.xpos,var.ypos]
wait (1s)
endif
if wiimote.Left then
mouse.CursorPos=[14, 963]
mouse.LeftButton=true
wait (1ms)
mouse.LeftButton=false
wait (100ms)
endif
if wiimote.right then
mouse.CursorPos=[1250, 963]
mouse.LeftButton=true
wait (1ms)
mouse.LeftButton=false
wait (100ms)
endif
if wiimote.up then
mouse.CursorPos=[1265, 98]
mouse.LeftButton=true
wait (1ms)
mouse.LeftButton=false
wait (100ms)
endif
if wiimote.down then
mouse.CursorPos=[1265, 942]
mouse.LeftButton=true
wait (1ms)
mouse.LeftButton=false
wait (100ms)
endif
if wiimote.Minus then
var.width --
type 'w '+ var.width
key.Enter=true
wait (0.5ms)
key.Enter=false
wait (100ms)
endif
if wiimote.Plus then
var.width ++
type 'w '+ var.width
key.Enter=true
wait (0.5ms)
key.Enter=false
wait (100ms)
endif
else
if wiimote.a then
^Q=true
wait (1ms)
^Q=false
wait (0.5s)
end if
if wiimote.Roll > 50 then
^R=true
wait (1ms)
^R=false
wait (0.5s)
endif
if wiimote.Pitch > 50 then
type 'ss '
wait (0.5s)
endif
if wiimote.Minus then
var.width = var.width-5
type 'w '+ var.width
key.Enter=true
wait (0.5ms)
key.Enter=false
wait (1ms)
endif
if wiimote.Plus then
var.width =var.width+5
type 'w '+ var.width
key.Enter=true
wait (0.5ms)
key.Enter=false
wait (1ms)
endif
endif
if wiimote.home then
debug=' home'
type 'w '+ var.width
key.Enter=true
wait (0.5ms)
key.Enter=false
wait (0.5ms)
endif
if mouse.WheelDown then
'debug=' wheel down'
mouse.CursorPos=[640, 512]
^W=true
wait (0.5ms)
^W=false
mouse.RightButton=true
wait (0.5ms)
mouse.RightButton=false
wait (0.1s)
key.Escape=true
wait (0.1ms)
key.Escape=false
endif
if mouse.wheelup then
'debug=' wheel up'
mouse.CursorPos=[640, 512]
^W=true
wait (0.5ms)
^W=false
mouse.LeftButton=true
wait (0.5ms)
mouse.LeftButton=false
wait (0.1s)
key.Escape=true
wait (1ms)
key.Escape=false
endif
if mouse.MiddleButton
'debug=' middle'
^B=true
wait (0.5ms)
^B=false
endif