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

56 lines
1.8 KiB
JavaScript

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();
});