docs: @Override
      public final void onBrowserEvent(final Event event) {
  
          super.onBrowserEvent(event);
          switch (DOM.eventGetType(event)) {
              // Unhighlight and cancel keyboard events
              case Event.ONBLUR:
                  m_keyTimer.cancel();
                  if (m_slidingMouse) {
                      stopMouseSliding(event);
  
                  } else if (m_slidingKeyboard) {
                      m_slidingKeyboard = false;
  
                  }
  
                  break;
  
              // Mousewheel events
              case Event.ONMOUSEWHEEL:
                  int velocityY = event.getMouseWheelVelocityY() * m_stepSize;
                  event.preventDefault();
                  CmsDebugLog.getInstance().printLine("Whell velocity: " + velocityY);
                  if (velocityY > 0) {
                      shiftDown(velocityY);
                  } else {
                      shiftUp(-velocityY);
                  }
                  break;
  
              // Shift left or right on key press
              case Event.ONKEYDOWN:
                  if (!m_slidingKeyboard) {
                      int multiplier = 1;
                      if (event.getCtrlKey() || event.getMetaKey()) {
                          multiplier = m_stepSize;
                      }
  
                      switch (event.getKeyCode()) {
                          case KeyCodes.KEY_HOME:
                              event.preventDefault();
                              setValue(Integer.valueOf(0));
                              break;
                          case KeyCodes.KEY_END:
                              event.preventDefault();
                              setValue(Integer.valueOf(getMaximumVerticalScrollPosition()));
                              break;
                          case KeyCodes.KEY_PAGEUP:
                              event.preventDefault();
                              m_slidingKeyboard = true;
                              shiftUp(m_pageSize);
                              m_keyTimer.schedule(INITIALDELAY, true, m_pageSize);
                              break;
                          case KeyCodes.KEY_PAGEDOWN:
                              event.preventDefault();
                              m_slidingKeyboard = true;
  
                              shiftDown(m_pageSize);
                              m_keyTimer.schedule(INITIALDELAY, false, m_pageSize);
                              break;
                          case KeyCodes.KEY_UP:
                              event.preventDefault();
                              m_slidingKeyboard = true;
  
                              shiftUp(multiplier);
                              m_keyTimer.schedule(INITIALDELAY, true, multiplier);
                              break;
                          case KeyCodes.KEY_DOWN:
                              event.preventDefault();
                              m_slidingKeyboard = true;
  
                              shiftDown(multiplier);
                              m_keyTimer.schedule(INITIALDELAY, false, multiplier);
                              break;
  
                          default:
                      }
                  }
                  break;
              // Stop shifting on key up
              case Event.ONKEYUP:
                  m_keyTimer.cancel();
                  if (m_slidingKeyboard) {
                      m_slidingKeyboard = false;
                  }
                  break;
  
              // Mouse Events
              case Event.ONMOUSEDOWN:
                  if (sliderClicked(event)) {
                      startMouseSliding(event);
                      event.preventDefault();
                  }
                  break;
              case Event.ONMOUSEUP:
                  stopMouseSliding(event);
                  break;
              case Event.ONMOUSEMOVE:
                  slideKnob(event);
                  break;
              default:
          }
  
      }