RP2040-ZERO Keyboard (CTRL+C+V) Copy-Paste
#include
#define SW1 3 // Кнопка CTRL
#define SW2 1 // Кнопка C
#define SW3 2 // Кнопка V
void setup() {
pinMode(SW1, INPUT_PULLDOWN);
pinMode(SW2, INPUT_PULLDOWN);
pinMode(SW3, INPUT_PULLDOWN);
Keyboard.begin();
}
void loop() {
bool btnCtrl = digitalRead(SW1);
bool btnC = digitalRead(SW2);
bool btnV = digitalRead(SW3);
// Проверяем, зажаты ли все три кнопки одновременно
if (btnCtrl && btnC && btnV) {
Keyboard.press(KEY_LEFT_CTRL);
Keyboard.press('a'); // Выделение всего текста
delay(100); // Делаем небольшую задержку, чтобы команда отработала
Keyboard.releaseAll(); // Отпускаем все клавиши
delay(200); // Ждём перед следующим опросом
return; // Пропускаем остальной код в этом цикле
}
// Обычное поведение клавиш
if (btnCtrl) {
Keyboard.press(KEY_LEFT_CTRL);
} else {
Keyboard.release(KEY_LEFT_CTRL);
}
if (btnC) {
Keyboard.press('c');
} else {
Keyboard.release('c');
}
if (btnV) {
Keyboard.press('v');
} else {
Keyboard.release('v');
}
delay(10); // Антидребезг
}
Modellquelle
