code: def mouseDragEvent(self, ev, axis=None):
          
          if self._customMouse and ev.button() == QtCore.Qt.RightButton:
              ev.accept()  ## we accept all buttons
  
              # directly copy-pasted from ViewBox for ViewBox.RectMode
              if ev.isFinish():  ## This is the final move in the drag; change the view scale now
                  #print "finish"
                  pos = ev.pos()
  
                  self.rbScaleBox.hide()
                  #ax = QtCore.QRectF(Point(self.pressPos), Point(self.mousePos))
                  ax = QtCore.QRectF(Point(ev.buttonDownPos(ev.button())), Point(pos))
                  ax = self.childGroup.mapRectFromParent(ax)
                  self.showAxRect(ax)
                  self.axHistoryPointer += 1
                  self.axHistory = self.axHistory[:self.axHistoryPointer] + [ax]
              else:
                  ## update shape of scale box
                  self.updateScaleBox(ev.buttonDownPos(), ev.pos())
          else:
              state = None
              # ctrl reverses mouse operation axis
              if ev.modifiers() == QtCore.Qt.ControlModifier:
                  state = self.mouseEnabled()
                  self.setMouseEnabled(not state[0], not state[1])
              super(SpikeyViewBox, self).mouseDragEvent(ev, axis)
              if state is not None:
                  self.setMouseEnabled(*state)
docs: Customized mouse dragging, where the right drag is bounding box zoom
          
          :param ev: event object containing drag state info
          :type ev: :py:class:`MouseDragEvent<pyqtgraph:pyqtgraph.GraphicsScene.mouseEvents.MouseDragEvent>`