GC - Pick Your Own - Keyboard Controls

Add keyboard navigation to GC's Pick Your Own.

目前為 2024-02-09 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name GC - Pick Your Own - Keyboard Controls
  3. // @namespace https://greasyfork.org/en/users/1175371
  4. // @version 0.3
  5. // @description Add keyboard navigation to GC's Pick Your Own.
  6. // @author sanjix
  7. // @match https://www.grundos.cafe/medieval/pickyourown/*
  8. // @icon https://www.google.com/s2/favicons?sz=64&domain=grundos.cafe
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. var start = document.querySelector('input[value="Click to Play!"]');
  13. var left = document.querySelector('input#pyo-left-arrow');
  14. var right = document.querySelector('input#pyo-right-arrow');
  15. var up = document.querySelector('input#pyo-up-arrow');
  16. var down = document.querySelector('input#pyo-down-arrow');
  17. var map = document.querySelector('form[action="/medieval/process_pickyourown/?pick=1"] input[type="image"]');
  18. var collect = document.querySelector('input[value="Collect Berries and Leave Farm"]');
  19.  
  20. document.addEventListener("keydown", ((event) => {
  21. switch (event.keyCode) {
  22. case 38: //up-arrow
  23. case 87: //w
  24. {
  25. if (up != null) {
  26. event.preventDefault();
  27. up.click();
  28. }
  29. }
  30. break;
  31. case 37: //left-arrow
  32. case 65: //a
  33. {
  34. if (left != null) {
  35. event.preventDefault();
  36. left.click();
  37. }
  38. }
  39. break;
  40. case 40: //down-arrow
  41. case 83: //s
  42. {
  43. if (down != null) {
  44. event.preventDefault();
  45. down.click();
  46. }
  47. }
  48. break;
  49. case 39: //right-arrow
  50. case 68: //d
  51. {
  52. if (right != null) {
  53. event.preventDefault();
  54. right.click();
  55. }
  56. }
  57. break;
  58. case 13: //enter
  59. {
  60. if (start != null) {
  61. start.click();
  62. } else if (map != null) {
  63. map.click();
  64. } else if (collect != null) {
  65. collect.click();
  66. }
  67. }
  68. break;
  69. }
  70. }));