Вопрос про библиотеку keypad

ShyrKyrier
Offline
Зарегистрирован: 16.02.2021

Есть библиотека "Keypad.h". Все работает, ок, но есть одно но, если нажать одновременно на две клавиши, то будет работать только одна, которую нажали первой. Вопрос, как все это пофиксить?

sadman41
Offline
Зарегистрирован: 19.10.2016

Пофиксить на предмет чего?

Kakmyc
Offline
Зарегистрирован: 15.01.2018

А что подразумевается под "одновременным нажатием" ?

ShyrKyrier
Offline
Зарегистрирован: 16.02.2021

Чтоб обрабатывало несколько кнопок одновременно, а не одну

ShyrKyrier
Offline
Зарегистрирован: 16.02.2021

Чтоб обрабатывало нажатие нескольких кнопок сразу, а не только одно нажатие одной кнопки

sadman41
Offline
Зарегистрирован: 19.10.2016

Как вы себе это представляете на выходе? 

Kakmyc
Offline
Зарегистрирован: 15.01.2018

ShyrKyrier пишет:

Чтоб обрабатывало несколько кнопок одновременно, а не одну

Он и обрабатывает сразу ВСЕ кнопки а не одну.
Только нажать ОДНОВРЕМЕННО у вас не получится.

ShyrKyrier
Offline
Зарегистрирован: 16.02.2021

Как пример - обычная клавиатура пк

ShyrKyrier
Offline
Зарегистрирован: 16.02.2021

Kakmyc пишет:
ShyrKyrier пишет:

Чтоб обрабатывало несколько кнопок одновременно, а не одну

Он и обрабатывает сразу ВСЕ кнопки а не одну. Только нажать ОДНОВРЕМЕННО у вас не получится.

Если зажать 2 кнопки, то считывать будет с той, которая нажата была первой, а вторую просто игнорирует. Если взять обычную клавиатуру, то он будет считывать сразу 2 клавиши (если они нажаты). (изменено)
 
 
 

 

 

 

 

sadman41
Offline
Зарегистрирован: 19.10.2016
Kakmyc
Offline
Зарегистрирован: 15.01.2018

ShyrKyrier пишет:

Если зажать 2 кнопки, то считывать будет с той, которая нажата была первой, а вторую просто игнорирует. Если взять обычную клавиатуру, то он будет считывать сразу 2 клавиши (если они нажаты).

Что мешает изучить библиотеку ?
Там есть пример такого опроса.
А то говняете форум кривым HTML(цитировать невозможно без слез), а в библиотеке разбираться лень.

ShyrKyrier
Offline
Зарегистрирован: 16.02.2021


Спасибо. Можно ли как-нибудь объединить объединить "multikey" с этим куском кода? Каким путем..

char holdKey;
unsigned long t_hold;

void setup(){
  Serial.begin(9600);
  Keyboard.begin();
}
 
void loop(){
  char key = keypad.getKey();
 
   if (key){
     holdKey = key;
     Serial.println(key);
   }
 
   if (keypad.getState() == HOLD) {
      if ((millis() - t_hold) > 100 ) {
          switch (holdKey) {
              case '<':
                  Serial.println("Move Left");  
                  break;
              case '^':
                  Serial.println("Move Up");
                  break;
              case '>':
                  Serial.println("Move Right");
                  break;
          }
          t_hold = millis();
      }
   }
}

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Вам же вроде вчера нельзя было эту библиотеку использовать? Или я Вас с кем-то спутал?

sadman41
Offline
Зарегистрирован: 19.10.2016

Объединить можно. Путем размышлений и последующим составлением "программы".