prawojazdy360.pl

Script that adds keyboard shortcuts to the prawojazdy360.pl 'kurs' section.

  1. // ==UserScript==
  2. // @name prawojazdy360.pl
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.6
  5. // @description Script that adds keyboard shortcuts to the prawojazdy360.pl 'kurs' section.
  6. // @author Borowy Alan
  7. // @match *://www.prawo-jazdy-360.pl/kurs*
  8. // @match *://www.prawo-jazdy-360.pl/test*
  9. // @grant none
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15. let courseMode;
  16. let testMode;
  17. window.location.pathname == '/kurs'
  18. ? courseMode = true
  19. : testMode = true
  20.  
  21. let video
  22. let yesButton
  23. let noButton
  24. let nextQuestionButton
  25. let firstAnswer
  26. let secondAnswer
  27. let thirdAnswer
  28.  
  29. function initializeKeys() {
  30. video = courseMode
  31. ? document.getElementById('media-video')
  32. : document.getElementsByClassName('video-play')[0]
  33. yesButton = document.getElementById('Answers-0')
  34. noButton = document.getElementById('Answers-1')
  35. nextQuestionButton = courseMode
  36. ? document.getElementById('btn-next')
  37. : document.getElementsByClassName('btn-next')[1]
  38. firstAnswer = document.getElementById('Answers-0')
  39. secondAnswer = document.getElementById('Answers-1')
  40. thirdAnswer = document.getElementById('Answers-2')
  41. }
  42.  
  43. initializeKeys();
  44.  
  45. document.onkeyup = function(e) {
  46. if (e.code == 'KeyP') {
  47. if(courseMode){
  48. video.focus()
  49. video.play()
  50. } else {
  51. video.click()
  52. }
  53. } else if (e.code == 'KeyT') {
  54. yesButton.click()
  55. saveAnswer()
  56. } else if (e.code == 'KeyN') {
  57. noButton.click()
  58. saveAnswer()
  59. } else if (e.code == 'Enter') {
  60. nextQuestionButton.click()
  61. if (testMode) setTimeout(initializeKeys, 500)
  62. } else if (e.code =='KeyA' || e.code == 'Digit1' || e.code == 'Digit8') {
  63. firstAnswer.click()
  64. saveAnswer()
  65. }
  66. else if (e.code =='KeyB' || e.code == 'Digit2' || e.code == 'Digit9') {
  67. secondAnswer.click()
  68. saveAnswer()
  69. }
  70. else if (e.code =='KeyC' || e.code == 'Digit3' || e.code == 'Digit0') {
  71. thirdAnswer.click()
  72. saveAnswer()
  73. }
  74. };
  75. })();