Youtube Speed Control With + and -

Increases the playback speed when the + key on the numpad is pressed, and decreases when the - key is pressed

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

You will need to install an extension such as Tampermonkey to install this script.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name        Youtube Speed Control With + and -
// @namespace   YoutubeSpeedPlusMinus
// @description Increases the playback speed when the + key on the numpad is pressed, and decreases when the - key is pressed
// @include     https://www.youtube.com/*
// @version     1.0.3
// @grant       none
// ==/UserScript==

function pressKey(keyCode)
{
  var eventObj = document.createEventObject ? document.createEventObject() : document.createEvent("Events");

  if(eventObj.initEvent)
  {
    eventObj.initEvent("keydown", true, true);
  }

  eventObj.keyCode = keyCode;
  eventObj.shiftKey = true;

  if (document.dispatchEvent)
  {
    document.dispatchEvent(eventObj);
  }
  else
  {
    document.fireEvent("onkeydown", eventObj);
  }
}

document.onkeydown = function(evt)
{
  var keyboardEvent = document.createEvent("KeyboardEvent");
  var initMethod = typeof keyboardEvent.initKeyboardEvent !== 'undefined' ? "initKeyboardEvent" : "initKeyEvent";

  switch (evt.keyCode)
  {
    case 106:
      //console.log("speed normal");
      var player = document.querySelector(".html5-main-video");

      if (player)
      {
        var lookup = 
            {
              0.25:  3,
              0.5 :  2,
              0.75:  1,
              1   :  0,
              1.25: -1,
              1.5 : -2,
              2   : -3
            }[player.playbackRate];
        for (var i = 0; i < lookup; i++)
        {
          pressKey(190);
        }
        for (var i = 0; i < -lookup; i++)
        {
          pressKey(188);
        }
      }
      break;
    case 107:
      //console.log("speed up");
      pressKey(190);
      break;
    case 109:
      //console.log("speed down");
      pressKey(188);
      break;
  }
};