TypeShower

动态弹幕实时显示按下的按键

  1. // ==UserScript==
  2. // @name TypeShower
  3. // @namespace https://www.7gugu.com/
  4. // @version 1.1.1
  5. // @description 动态弹幕实时显示按下的按键
  6. // @author 7gugu <gz7gugu@qq.com>
  7. // @match https://tampermonkey.net/documentation.php?version=4.8.5847&ext=fire&updated=true
  8. // @grant none
  9. // @include *
  10. // @require https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js
  11. // ==/UserScript==
  12.  
  13. (function() {
  14. 'use strict';
  15. var id=1;
  16. var key_array=new Array(500);
  17. key_array[65]='a';
  18. key_array[66]='b';
  19. key_array[67]='c';
  20. key_array[68]='d';
  21. key_array[69]='e';
  22. key_array[70]='f';
  23. key_array[71]='g';
  24. key_array[72]='h';
  25. key_array[73]='i';
  26. key_array[74]='j';
  27. key_array[75]='k';
  28. key_array[76]='l';
  29. key_array[77]='m';
  30. key_array[78]='n';
  31. key_array[79]='o';
  32. key_array[80]='p';
  33. key_array[81]='q';
  34. key_array[82]='r';
  35. key_array[83]='s';
  36. key_array[84]='t';
  37. key_array[85]='u';
  38. key_array[86]='v';
  39. key_array[87]='w';
  40. key_array[88]='x';
  41. key_array[89]='y';
  42. key_array[90]='z';
  43. key_array[112]='F1';
  44. key_array[113]='F2';
  45. key_array[114]='F3';
  46. key_array[115]='F4';
  47. key_array[116]='F5';
  48. key_array[117]='F6';
  49. key_array[118]='F7';
  50. key_array[119]='F8';
  51. key_array[120]='F9';
  52. key_array[121]='F10';
  53. key_array[122]='F11';
  54. key_array[123]='F12';
  55. key_array[136]='Num_Lock';
  56. key_array[137]='Scorll_Lock';
  57. key_array[8]='BackSpace';
  58. key_array[9]='Tab';
  59. key_array[32]='Space';
  60. key_array[13]='Enter';
  61. key_array[16]='Shift';
  62. key_array[17]='Ctrl';
  63. key_array[18]='Alt';
  64. key_array[20]='Caps';
  65. key_array[27]='Esc';
  66. key_array[37]='←';
  67. key_array[38]='↑';
  68. key_array[39]='→';
  69. key_array[40]='↓';
  70. key_array[45]='Ins';
  71. key_array[46]='Del';
  72. key_array[48]='0';
  73. key_array[49]='1';
  74. key_array[50]='2';
  75. key_array[51]='3';
  76. key_array[52]='4';
  77. key_array[53]='5';
  78. key_array[54]='6';
  79. key_array[55]='7';
  80. key_array[56]='8';
  81. key_array[57]='9';
  82. key_array[192]='`';
  83. key_array[173]='-';
  84. key_array[61]='+';
  85. key_array[219]='[';
  86. key_array[221]=']';
  87. key_array[220]='\\';
  88. key_array[59]=';';
  89. key_array[222]='\'';
  90. key_array[188]=',';
  91. key_array[190]='.';
  92. key_array[191]='/';
  93. key_array[229]='输入法';
  94. var key_shift=0;
  95. var key_ctrl=0;
  96. console.log("Typeshower已启用");
  97. $("body").append("<style type='text/css'>type{padding: 5px 10px;font-size: 87.5%;color: #fff;background-color: #212529;border-radius: 5px;font-family:SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace;line-height: 1.5;}.key_list{padding:10px;position:fixed;right:20px;top:20px;width:60px;height:50px;z-index:999;}</style>");
  98. $("body").append("<div class='key_list'></div>");
  99. document.onkeydown=function(event){
  100. id++;
  101. console.log("Typeshower 监听中");
  102. var key_template="";
  103. var e = event || window.event ;
  104. if(e && e.keyCode){
  105. if(key_shift==1){key_template="Shift+";}
  106. if(key_ctrl==1){key_template="Ctrl+";}
  107. key_template=key_template+key_array[e.keyCode];
  108. $("div.key_list").append("<type id='"+id+"'>"+key_template+"</type><br><br>");
  109. if(e.keyCode==16){key_shift=1;}
  110. if(e.keyCode==17){key_ctrl=1;}
  111. }
  112.  
  113. $("type[id='"+id+"']").fadeOut(2500);
  114. $("br").fadeOut(2500);
  115.  
  116. }
  117. document.onkeyup=function(event){
  118. var e = event || window.event ;
  119. if(e && e.keyCode){
  120. if(e.keyCode==16){key_shift=0;}
  121. if(e.keyCode==17){key_ctrl=0;}
  122. }
  123. }
  124. })();