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

1.9 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)) let current_letter = ''; $(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].toLowerCase()) artsey_draw(mappings[key]); } //artsey_reset(); });