Блог о жизни и технологиях

Хардкорная клавиатура для osu!

Купил я недавно ардуину, помигал светодиодом, и подумал, а что же действительно годного можно сделать из нее. А тут как раз валялись пара автомобильных реле, мне понравилось, как четко они нажимаются, самый раз для клавиатуры. Сказано — сделано.

Собственно, про хардварную часть рассказывать нечего — контакты реле напрямую воткнуты в 8 и 9 порты. Резистор на 10К не требуется, ибо включен встроенный.

Скетч:

#include <Keyboard.h> //библиотека для клавы

void setup(){
  pinMode(8, INPUT_PULLUP); //выходы 8 и 9 с подтягивающим резистором
  pinMode(9, INPUT_PULLUP);
  Keyboard.begin();
  }
void loop(){
    if(digitalRead(8)==LOW){ //кнопка x
    Keyboard.press('x');
  }
    if(digitalRead(9)==LOW){ //кнопка z
    Keyboard.press('z');
  }
  delay(80); //задержка в мс. по умолчанию 80
  Keyboard.releaseAll();
}

Задержка этой клавиатуры по умолчанию равна 0.08 с, но вы можете поставить свою в скетче. Чем меньше задержка, тем чаще будет отправляться сигнал о нажатой кнопке, даже если вы нажали ее 1 раз.
Пример работы: zzxxxxzzxzxzxzzxzxzx

Вы также можете подключить любые другие кнопки (напр. Cherry MX) и вообще, все, что замыкает контакт.