Проблема с библиотекой Keyboard.h

Привет всем, смотрите у меня такая проблема. Я подключил галетный переключатель, проверил работает ли и какой диапазон значений ставить. Написал код , всё работает только вот Keyboard.h не работает. Я решил проверить сам скрипт с помощью serial.print . И да он работает , условия выполняются корректно , не работают команды из библиотеки keyboard.h . Помогите что делать ?

#include <Keyboard.h>
int pinAnalog = A0;
int stateValue = 0; // Состояние покоя

bool q = true;
bool w = true;
bool e = true;
bool r = true;
bool t = true;
bool y = true;
bool u = true;

void setup() {
  pinMode(pinAnalog, INPUT);
  Serial.begin(9600);
  Keyboard.begin();
}


void loop() {
  int newKeyValue = GetKeyValue(); 

  if (stateValue != newKeyValue) {  
    stateValue = newKeyValue;       
    if (int(stateValue) >= 900 && int(stateValue) <= 1020 && q == true) {          
      Serial.println("Сигнал: " + String(stateValue));
      Keyboard.press('p');
      delay(10);
      Keyboard.releaseAll();
      q = false;
      w = true;
    }
    if (int(stateValue) >= 70 && int(stateValue) <= 79 && w == true) {          
      Serial.println("Сигнал: " + String(stateValue));
      Keyboard.press('p');
      delay(10);
      Keyboard.releaseAll();
      q = true;
      w = false;
      e = true;
    }
    if (int(stateValue) >= 40 && int(stateValue) <= 50 && e == true) {          
      Serial.println("Сигнал: " + String(stateValue));
      Keyboard.press('p');
      delay(10);
      Keyboard.releaseAll();
      w = true;
      e = false;
      r = true;
    }
    if (int(stateValue) >= 22 && int(stateValue) <= 30 && r == true) {          
      Serial.println("Сигнал: " + String(stateValue));
      Keyboard.press('p');
      delay(10);
      Keyboard.releaseAll();
      e = true;
      r = false;
      t = true;
    }
    if (int(stateValue) >= 17 && int(stateValue) <= 20 && t == true) {          
      Serial.println("Сигнал: " + String(stateValue));
      Keyboard.press('p');
      delay(10);
      Keyboard.releaseAll();
      r = true;
      t = false;
      y = true;
    }
    if (int(stateValue) >= 14 && int(stateValue) <= 16 && y == true) {          
      Serial.println("Сигнал: " + String(stateValue));
      Keyboard.press('p');
      delay(10);
      Keyboard.releaseAll();
      t = true;
      y = false;
      u = true;
    }
    if (int(stateValue) >= 10 && int(stateValue) <= 13 && u == true) {          
      Serial.println("Сигнал: " + String(stateValue));
      Keyboard.press('p');
      delay(10);
      Keyboard.releaseAll();
      y = true;
      u = false;      
    }           
    else {                        
      Serial.println(stateValue);
    }
  }
}

int GetKeyValue() {        
  static int   oldKeyValue;
  static long  lastChange;  
  int actualKeyValue = analogRead(pinAnalog); 

  if ((actualKeyValue != oldKeyValue) && (millis() - lastChange > 200)) { 
    oldKeyValue = actualKeyValue;
    lastChange = millis();        
  }
  return    oldKeyValue;         
}

Код написан не мною , но я его переделал под мой галетник . Хотя к примеру гашение дребезга контактов сделано другим человеком , в общем не суть. Кто может помогите!!