GC - Pick Your Own - Keyboard Controls

Add keyboard navigation to GC's Pick Your Own.

当前为 2024-02-05 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name GC - Pick Your Own - Keyboard Controls
  3. // @namespace https://greasyfork.org/en/users/1175371
  4. // @version 0.2
  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 left = document.querySelector('input#pyo-left-arrow');
  13. var right = document.querySelector('input#pyo-right-arrow');
  14. var up = document.querySelector('input#pyo-up-arrow');
  15. var down = document.querySelector('input#pyo-down-arrow');
  16. var map = document.querySelector('form[action="/medieval/process_pickyourown/?pick=1"] input[type="image"]');
  17. var collect = document.querySelector('input[value="Collect Berries and Leave Farm"]');
  18.  
  19. document.addEventListener("keydown", ((event) => {
  20. switch (event.keyCode) {
  21. case 38: //up-arrow
  22. case 87: //w
  23. {
  24. if (up != null) {
  25. event.preventDefault();
  26. up.click();
  27. }
  28. }
  29. break;
  30. case 37: //left-arrow
  31. case 65: //a
  32. {
  33. if (left != null) {
  34. event.preventDefault();
  35. left.click();
  36. }
  37. }
  38. break;
  39. case 40: //down-arrow
  40. case 83: //s
  41. {
  42. if (down != null) {
  43. event.preventDefault();
  44. down.click();
  45. }
  46. }
  47. break;
  48. case 39: //right-arrow
  49. case 68: //d
  50. {
  51. if (right != null) {
  52. event.preventDefault();
  53. right.click();
  54. }
  55. }
  56. break;
  57. case 13: //enter
  58. {
  59. if (map != null) {
  60. map.click();
  61. } else if (collect != null) {
  62. collect.click();
  63. }
  64. }
  65. break;
  66. }
  67. }));