Here is some sample code showing how to switch between 2 different keydown callback functions. You can press the 1,2 keys to set which callback to use. Pressing spacebar will print out which callback is currently registered.
Code:
import viz
viz.go()
def onKeyDown1(key):
if key == '2':
viz.callback(viz.KEYDOWN_EVENT,onKeyDown2)
elif key == ' ':
print 'space pressed in callback 1'
def onKeyDown2(key):
if key == '1':
viz.callback(viz.KEYDOWN_EVENT,onKeyDown1)
elif key == ' ':
print 'space pressed in callback 2'
viz.callback(viz.KEYDOWN_EVENT,onKeyDown1)