code: def OnMouseWheel(self, event):
          
  
          if event.ControlDown():
              if event.WheelRotation > 0:
                  post_command_event(self.grid, self.grid.ZoomInMsg)
              else:
                  post_command_event(self.grid, self.grid.ZoomOutMsg)
  
          elif self.main_window.IsFullScreen():
              if event.WheelRotation > 0:
                  newtable = self.grid.current_table - 1
              else:
                  newtable = self.grid.current_table + 1
  
              post_command_event(self.grid, self.GridActionTableSwitchMsg,
                                 newtable=newtable)
              return
  
          else:
              wheel_speed = config["mouse_wheel_speed_factor"]
              x, y = self.grid.GetViewStart()
              direction = wheel_speed if event.GetWheelRotation() < 0 \
                  else -wheel_speed
              if event.ShiftDown():
                  # Scroll sideways if shift is pressed.
                  self.grid.Scroll(x + direction, y)
              else:
                  self.grid.Scroll(x, y + direction)
docs: Event handler for mouse wheel actions
  
          Invokes zoom when mouse when Ctrl is also pressed