code: def on_key_press(self, event):
      if event.key in ["Left", "Right"]:
          if event.key == "Right":
              step = 1
          else:
              step = -1
          self.filter = (self.filter + step) % 17
          self.program.set_shaders(
              VERT_SHADER, FRAG_SHADER % self.names[self.filter]
          )
  
          self.title = (
              "Spatial Filtering using %s Filter"
              % self.names[self.filter]
          )
          self.update()
  
file_path: vispy/examples/gloo/spatial_filters.py
imports: import numpy
  from vispy.io import load_spatial_filters
  from vispy import gloo
  from vispy import app
  from vispy.util.logs import set_log_level
label_desc: Use image node_id 2 for calling the Canvas obj's underlying member method code with example usage: obj.on_key_press(event) without return types