Показать сообщение отдельно
Старый 11.02.2014, 09:38   #207
Chubaka885
Старший Пользователь
 
Регистрация: 08.10.2013
Возраст: 41
Регион: 56
Машина: Toyota Corolla e150
Сообщений: 325
Chubaka885 is a jewel in the roughChubaka885 is a jewel in the roughChubaka885 is a jewel in the roughChubaka885 is a jewel in the rough
По умолчанию

Цитата:
Сообщение от Andrey_61 Посмотреть сообщение
Народ, на тему 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 как я понимаю придется прописать каждую кнопку отдельно
}
Почему то ругается на timer.after.... Говорит что timer не декларирован. Хотя библиотеку Timer скопировал в либы программы. В начале скетча добавил Timer.h
Chubaka885 вне форума   Ответить с цитированием