Teensy 2.0 Повтор loop. Помогите советом

vladlugan
Offline
Зарегистрирован: 25.08.2017

Есть такой код 

void setup() {
}
void loop() {
delay(1000);
Keyboard.set_key1(KEY_TAB);
Keyboard.set_key2(KEY_1);
Keyboard.send_now();
}

Здесь кнопка не сведена на ноль, поэтому идет вечный репит.

Но, в таком случае не работает delay. А мне надо чтоб код 

Keyboard.set_key1(KEY_TAB);
Keyboard.set_key2(KEY_1);

шел через определенное время. Т.е. не овер дофига нажатий в секунду, а, например, сочетание таб+1 посылалось раз в секунду. А то и рандомно. Уже пол дня читаю об этом на форумах, материалы, но так не смог понять, как мне это устроить. 

я очень грубый новичек. 

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Ответ в вашем вопросе:

vladlugan пишет:

Здесь кнопка не сведена на ноль, поэтому идет вечный репит.

Значит кнопки нужно после нажатия сразу же "отжать", и через секунду снова повторить.

vladlugan
Offline
Зарегистрирован: 25.08.2017

Это не вариант. Ибо мне надо чтоб данная комбинация выполнялась миллионы раз. часов 10 надо. памяти устройства столько не хватит.

nik182
Offline
Зарегистрирован: 04.05.2015

delay не может не работать. Почему два раза set и один send? Посылается только последний set ? Ищите blink without delay.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

vladlugan,  Если вам нужно что бы нажатие выбранной комбинации кнопок было бесконечным, но спустя некоторое время, то нужно все эти 4 команды убрать в секцию setup.

vladlugan
Offline
Зарегистрирован: 25.08.2017

я не понимаю почему, но посылаеся оба set'a. 

Вот последнее что я намутил. 

void setup() {
}

void loop() {
Keyboard.set_key1(KEY_1);
Keyboard.send_now();
Keyboard.set_modifier(0);

Keyboard.set_key1(KEY_TAB);
delay(1500);
Keyboard.send_now();
Keyboard.set_key1(0); 
Keyboard.send_now();
}

сработало. delay тоже работает. и даже нажимает таб и единичку с задержками.