viz.grab() with the mouse makes sense if the object you are grabbing is on the screen.
Code:
import viz
viz.go()
screenText = viz.addText('GrabME', viz.SCREEN)
s = 1
screenText.scale(s,s,s)
screenText.setPosition(.5, .5)
grabLink = None
def onMouseDown(button):
global grabLink
if grabLink:
#in case we missed mouse up event
grabLink.remove()
grabLink = viz.grab( viz.Mouse, screenText )
viz.callback(viz.MOUSEDOWN_EVENT,onMouseDown)
def onMouseUp(button):
global grabLink
grabLink.remove()
grabLink = None
viz.callback(viz.MOUSEUP_EVENT,onMouseUp)