/** * Keyboard Shortcuts * Atalhos para acelerar a navegação e resposta de quizzes * * Atalhos: * 1-5: Selecionar opção A-E * Espaço: Próxima questão * Esc: Fechar notas/floaters * ?: Mostrar ajuda */ const SHORTCUTS = { '1': () => selectOptionByLetter(0), '2': () => selectOptionByLetter(1), '3': () => selectOptionByLetter(2), '4': () => selectOptionByLetter(3), '5': () => selectOptionByLetter(4), ' ': (e) => { e.preventDefault(); const nextBtn = document.getElementById('btn-next'); if (nextBtn && nextBtn.style.display !== 'none') { nextBtn.click(); } }, 'Escape': () => { // Fechar floaters se existir if (typeof closeFloater === 'function') { closeFloater(); } }, '?': (e) => { e.preventDefault(); showKeyboardHelp(); }, }; function selectOptionByLetter(index) { const buttons = document.querySelectorAll('.opt'); if (buttons[index]) { buttons[index].click(); } } function showKeyboardHelp() { const help = ` ⌨️ Atalhos de Teclado Quizzes: 1-5 Selecionar opção A-E SPC Próxima questão ESC Fechar notas Geral: ESC Fechar floaters ? Mostrar esta ajuda `; alert(help); } document.addEventListener('keydown', (e) => { // Ignorar se está digitando em um input/textarea if (e.target.tagName === 'INPUT' || e.target.tagName === 'TEXTAREA') { return; } const key = e.key; const handler = SHORTCUTS[key]; if (handler) { handler(e); } });