text: import vtk
  
  class MyInteractorStyle(vtk.vtkInteractorStyleTrackballCamera):
  
      def __init__(self,parent=None):
          self.AddObserver("MiddleButtonPressEvent",self.middleButtonPressEvent)
          self.AddObserver("MiddleButtonReleaseEvent",self.middleButtonReleaseEvent)
  
      def middleButtonPressEvent(self,obj,event):
          print("Middle Button pressed")
          self.OnMiddleButtonDown()
          return
  
      def middleButtonReleaseEvent(self,obj,event):
          print("Middle Button released")
          self.OnMiddleButtonUp()
          return
  
  
  source = vtk.vtkSphereSource()
  source.SetCenter(0, 0, 0)
  source.SetRadius(1)
  source.Update()
  
  mapper = vtk.vtkPolyDataMapper()
  mapper.SetInputConnection(source.GetOutputPort())
  
  actor = vtk.vtkActor()
  actor.SetMapper(mapper)
  
  renderer = vtk.vtkRenderer()
  renderer.SetBackground(1, 1, 1)
  renderer.AddActor(actor)
  
  renwin = vtk.vtkRenderWindow()
  renwin.AddRenderer(renderer)
  
  interactor = vtk.vtkRenderWindowInteractor()
  interactor.SetInteractorStyle(MyInteractorStyle())
  interactor.SetRenderWindow(renwin)
  
  interactor.Initialize()
  interactor.Start()
  