DelugeRPG Movement Controller for Mobile UI

Adds keyboard and numpad controls for movement in DelugeRPG's mobile version.

  1. // ==UserScript==
  2. // @name DelugeRPG Movement Controller for Mobile UI
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.6
  5. // @description Adds keyboard and numpad controls for movement in DelugeRPG's mobile version.
  6. // @license MIT
  7. // @author Your Name
  8. // @match https://m.delugerpg.com/map*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. // Mapping keys to movement buttons
  16. const movementKeys = {
  17. // Letter keys
  18. 'q': '#dr-nw',
  19. 'w': '#dr-n',
  20. 'e': '#dr-ne',
  21. 'a': '#dr-w',
  22. 's': '#dr-s',
  23. 'd': '#dr-e',
  24. 'z': '#dr-sw',
  25. 'x': '#dr-s',
  26. 'c': '#dr-se',
  27.  
  28. // Arrow keys
  29. 'ArrowUp': '#dr-n',
  30. 'ArrowDown': '#dr-s',
  31. 'ArrowLeft': '#dr-w',
  32. 'ArrowRight': '#dr-e',
  33.  
  34. // Numpad keys
  35. '7': '#dr-nw', // Numpad 7
  36. '8': '#dr-n', // Numpad 8
  37. '9': '#dr-ne', // Numpad 9
  38. '4': '#dr-w', // Numpad 4
  39. '5': '', // Numpad 5 (no movement assigned)
  40. '6': '#dr-e', // Numpad 6
  41. '1': '#dr-sw', // Numpad 1
  42. '2': '#dr-s', // Numpad 2
  43. '3': '#dr-se' // Numpad 3
  44. };
  45.  
  46. document.addEventListener('keydown', function(e) {
  47. const selector = movementKeys[e.key];
  48. if (selector) {
  49. const button = document.querySelector(selector);
  50. if (button) {
  51. button.click();
  52. e.preventDefault();
  53. }
  54. }
  55. });
  56. })();