code: def on_key_press(self, symbol, modifiers):
          
          magnitude = 10
          if symbol == pyglet.window.key.W:
              self.toggle_wireframe()
          elif symbol == pyglet.window.key.Z:
              self.reset_view()
          elif symbol == pyglet.window.key.C:
              self.toggle_culling()
          elif symbol == pyglet.window.key.A:
              self.toggle_axis()
          elif symbol == pyglet.window.key.Q:
              self.on_close()
          elif symbol == pyglet.window.key.M:
              self.maximize()
          elif symbol == pyglet.window.key.F:
              self.toggle_fullscreen()
  
          if symbol in [
              pyglet.window.key.LEFT,
              pyglet.window.key.RIGHT,
              pyglet.window.key.DOWN,
              pyglet.window.key.UP,
          ]:
              self.view['ball'].down([0, 0])
              if symbol == pyglet.window.key.LEFT:
                  self.view['ball'].drag([-magnitude, 0])
              elif symbol == pyglet.window.key.RIGHT:
                  self.view['ball'].drag([magnitude, 0])
              elif symbol == pyglet.window.key.DOWN:
                  self.view['ball'].drag([0, -magnitude])
              elif symbol == pyglet.window.key.UP:
                  self.view['ball'].drag([0, magnitude])
              self.scene.camera.transform = self.view['ball'].pose
docs: Call appropriate functions given key presses.