// Подключаем библиотеки для эмуляции HID устройств #include "Keyboard.h" #include "Mouse.h" // Укажем пины к которым подключены кнопки джойстика const int upButton = 2; const int downButton = 3; const int leftButton = 4; const int rightButton = 5; const int fireButton = 6; const int startButton = 8; const int selectButton = 9; void setup() { // Инициализируем пины на вход с притяжкой к плюсу pinMode(selectButton, INPUT_PULLUP); pinMode(startButton, INPUT_PULLUP); pinMode(fireButton, INPUT_PULLUP); pinMode(upButton, INPUT_PULLUP); pinMode(downButton, INPUT_PULLUP); pinMode(leftButton, INPUT_PULLUP); pinMode(rightButton, INPUT_PULLUP); Keyboard.begin(); } void loop() { // Если нажата кнопка вверх− эмулируем нажатие клавиши ↑. if (digitalRead(upButton) == LOW) { Keyboard.press(0xDA); } else { Keyboard.release(0xDA); } // Если нажата кнопка вниз− эмулируем нажатие клавиши ↓. if (digitalRead(downButton) == LOW) { Keyboard.press(0xD9); }else { Keyboard.release(0xD9); } // Если нажата кнопка влево− эмулируем нажатие клавиши ←. if (digitalRead(leftButton) == LOW) { Keyboard.press(0xD8); }else { Keyboard.release(0xD8); } // Если нажата кнопка вправо− эмулируем нажатие клавиши →. if (digitalRead(rightButton) == LOW) { Keyboard.press(0xD7); }else { Keyboard.release(0xD7); } // Если нажата кнопка выстрела− эмулируем нажатие клавиши 'x'. if (digitalRead(fireButton) == LOW) { Keyboard.press("x"); }else { Keyboard.release("x"); } }