Custom Layout for monkeytype.com (new version)

custom keymap overlay for monkeytype

  1. // ==UserScript==
  2. // @name Custom Layout for monkeytype.com (new version)
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.5.1
  5. // @description custom keymap overlay for monkeytype
  6. // @author Sasha231
  7. // @match https://monkeytype.com/
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. //CASE SENSITIVE! ALL OF THEM HAVE TO BE IN LOWERCASE!!
  12. const row0 = ['1', '2', '3', '4','5','6','7','8','9','0'];
  13. const row1 = ['q', 'w', 'e', 'r','t','y','u','i','o','p'];
  14. const row2 = ['a', 's', 'd', 'f','g','h','j','k','l',';'];
  15. const row3 = ['z', 'x', 'c', 'v','b','n','m','#','#','#'];
  16.  
  17. //const keys = [...row0, ...row1, ...row2, ...row3]
  18. const keys = [...row1, ...row2, ...row3];
  19.  
  20. window.addEventListener('load', function() {
  21. 'use strict';
  22.  
  23. var cusid_ele = document.getElementsByClassName('keymap-key');
  24. for (var i = 0; i < cusid_ele.length; ++i) {
  25. var item = cusid_ele[i];
  26. item.setAttribute('data-key', keys[i].toUpperCase()+keys[i]);
  27. item.innerHTML = '<span class="letter">'+keys[i].toUpperCase()+'</span>'
  28. }
  29.  
  30. }, false);