Народ, на тему Alt+Tab не совсем верный алгоритм.
Надо не отправлять Alt+Tab постоянно, а зажать Alt и удерживая его отправлять Tab
вот кусок моего кода при получении команды с ИК-пульта (требуется доп библиотека
Timer.h)
Код для Leonardo, но думаю можно адаптировать и под UNO
Код:
boolean altTabFirstPress = HIGH; //Первое нажатие alt+tab
int altTabTimer; //Таймер ALT+TAB
....
if(событие){
if(boolean(altTabFirstPress)==HIGH){ //Если это нажатие первое
altTabTimer = timer.after(1000, resetAltTab); //Запускаем таймер (1000мс) сброса ALT+TAB
altTabFirstPress = LOW; //Сбрасываем переменную
Keyboard.press(KEY_ALT); //Нажимаем Alt
Keyboard.press(KEY_TAB); //Нажимаем Tab
Keyboard.release(KEY_TAB); //Отпускаем Alt
}
else{ //Если это нажатие НЕ первое
timer.stop(altTabTimer); //Останавливаем таймер сброса ALT+TAB
Keyboard.press(KEY_TAB); //Нажимаем Tab
Keyboard.release(KEY_TAB); //Отпускаем Tab
altTabTimer = timer.after(1000, resetAltTab); //Запускаем таймер сброса ALT+TAB снова
}
....
//отпускаем Alt+Tab
void resetAltTab (){
altTabFirstPress = HIGH; //Устанавливаем переменную
Keyboard.releaseAll(); //Отпускаем все кнопки, для UNO как я понимаю придется прописать каждую кнопку отдельно
}