Mouse Wheel Event Inverter

Inverts values returned by 'wheel' event.

  1. // ==UserScript==
  2. // @name Mouse Wheel Event Inverter
  3. // @namespace lainscripts_mouse_wheel_event_inverter
  4. // @description Inverts values returned by 'wheel' event.
  5. // @version 0.2
  6. // @author lainverse
  7. // @grant none
  8. // @run-at document-start
  9. // Google Maps, Yandex Maps
  10. // @match *://*/maps/*
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15.  
  16. let descriptor,
  17. debug = false;
  18. for (let prop of ['deltaX', 'deltaY', 'deltaZ']) {
  19. descriptor = Object.getOwnPropertyDescriptor(WheelEvent.prototype, prop);
  20. let getter = descriptor.get;
  21. descriptor.get = function() {
  22. return -getter.call(this);
  23. };
  24. Object.defineProperty(WheelEvent.prototype, prop, descriptor);
  25. }
  26.  
  27. if (debug)
  28. window.addEventListener('wheel', function(e) {
  29. console.log(e.deltaX, e.deltaY, e.deltaZ, e.deltaMode);
  30. }, false);
  31. })();