artseyio-typing-tutor/js/artsey-tutor.js

1.8 KiB

let mappings = { 'key_q' : [1, 0, 1, 1, 0, 0, 0, 0], 'key_w' : [1, 0, 0, 1, 0, 0, 0, 0], 'key_u' : [0, 0, 0, 0, 0, 1, 1, 0], 'key_p' : [0, 0, 0, 0, 1, 0, 1, 1], 'key_d' : [1, 1, 1, 0, 0, 0, 0, 0], 'key_f' : [1, 1, 0, 0, 0, 0, 0, 0], 'key_g' : [0, 1, 1, 0, 0, 0, 0, 0], 'key_h' : [0, 0, 0, 0, 1, 0, 1, 0], 'key_j' : [0, 0, 1, 1, 0, 0, 0, 0], 'key_k' : [0, 0, 0, 0, 0, 1, 0, 1], 'key_l' : [0, 0, 0, 0, 1, 1, 1, 0], 'key_z' : [1, 1, 1, 1, 0, 0, 0, 0], 'key_x' : [0, 1, 1, 1, 0, 0, 0, 0], 'key_c' : [0, 0, 0, 1, 1, 0, 0, 0], 'key_v' : [0, 1, 0, 1, 0, 0, 0, 0], 'key_b' : [0, 0, 0, 0, 1, 0, 0, 1], 'key_n' : [0, 0, 0, 0, 0, 0, 1, 1], 'key_m' : [0, 0, 0, 0, 0, 1, 1, 1], 'key_space' : [0, 0, 0, 0, 1, 1, 1, 1], 'key_enter' : [1, 0, 0, 0, 1, 0, 0, 0], 'key_comma' : [1, 0, 0, 0, 0, 0, 1, 0], 'key_period' : [1, 0, 0, 0, 0, 1, 0, 0], 'key_backspace' : [0, 1, 0, 0, 1, 0, 0, 0], 'key_apostrophe' : [1, 0, 0, 0, 0, 1, 1, 0], 'key_exclamation' : [0, 0, 1, 0, 0, 0, 1, 0] } function artsey_draw(key_config) { let keys = $('.keyboard-key'); for (let i = 0; i < keys.length; i++) { if (key_config[i] === 1) $(keys[i]).css('background-color', 'black'); else $(keys[i]).css('background-color', 'white'); } } function artsey_reset() { let config = {'' : [0, 0, 0, 0, 0, 0, 0, 0]}; artsey_draw(config); $('#letterbox').text(''); } const sleep = (delay) => new Promise((resolve) => setTimeout(resolve, delay)) $(document).ready(async function() { console.log("ready!"); for (let key in mappings) { await sleep(1000); console.log(key); $('#text-to-type').text(key.split('_')[1].toUpperCase()) artsey_draw(mappings[key]); } artsey_reset(); });