DIY OSUkeyboard на Raspberry Pi Pico

deniska457

Новорег
Статус
Offline
Регистрация
17 Май 2023
Сообщения
13
Лайки
0
В этом гайде я покажу, как собрать простую и удобную двухкнопочную клавиатуру для OSU! на базе дешёвой платы Raspberry Pi Pico.
Подойдёт даже новичку — нужно всего 10–20 минут времени.
Что понадобится
Raspberry Pi Pico (любая версия)
2 механических свитча (Cherry MX, Gateron, Kailh — любые)
2 кейкапа
Несколько проводов
Паяльник
USB-кабель
Простой корпус (можно самодельный)
Схема подключения
Каждый свитч замыкает GPIO на GND.
Используем такие выводы:
Кнопка 1 → GP1
Кнопка 2 → GP4
Оба свитча вторыми ногами идут на GND
[Свитч 1] ——— GP1

└——— GND

[Свитч 2] ——— GP4

└——— GND

Установка CircuitPython
Зажмите кнопку BOOTSEL
Подключите Pico к ПК с зажатой кнопкой
Откроется диск RPI-RP2
Скачайте прошивку CircuitPython
Для просмотра ссылки Войди или ЗарегистрируйсяСкачайте файл UF2 и скопируйте на диск RPI-RP2.
Плата перезагрузится и появится диск CIRCUITPY.
Установка библиотеки HID
Скачайте набор библиотек
Для просмотра ссылки Войди или ЗарегистрируйсяНужен архив вида
adafruit-circuitpython-bundle-10.x-mpy-...zip
Откройте его → найдите папку adafruit_hid → положите её в:
CIRCUITPY/lib
Если папки lib нет — создайте.
Код (файл code.py)
Создайте на диске CIRCUITPY файл code.py со следующим содержимым:

import board
import digitalio
import usb_hid
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode

kbd = Keyboard(usb_hid.devices)

btn1 = digitalio.DigitalInOut(board.GP1)
btn1.direction = digitalio.Direction.INPUT
btn1.pull = digitalio.Pull.UP

btn2 = digitalio.DigitalInOut(board.GP4)
btn2.direction = digitalio.Direction.INPUT
btn2.pull = digitalio.Pull.UP

prev1 = True
prev2 = True

while True:
state1 = btn1.value
state2 = btn2.value

if not state1 and prev1:
kbd.press(Keycode.Z)
if state1 and not prev1:
kbd.release(Keycode.Z)

if not state2 and prev2:
kbd.press(Keycode.X)
if state2 and not prev2:
kbd.release(Keycode.X)

prev1 = state1
prev2 = state2

После сохранения Pico начинает работать как клавиатура.
Кнопка на GP1 = Z
Кнопка на GP4 = X
Проверка
Подключите Pico к ПК
Откройте тест клавиатуры
Нажмите кнопки и убедитесь, что отображаются Z и X.
 
Крутой гайд! В последнее время такие кастомные клавы для OSU! стали прям культовой темой — даже среди топовых спидтапперов. Вообще кайф, что можно собрать свою клавиатуру буквально на коленке и под себя заточить в плане свитчей. Кстати, на Pico еще классная фишка — минимальная задержка, в отличие от всяких китайских макроконтроллеров из ноунейм сборок.

А ещё если хочется красоты — кто-то печатает мини-корпуса на 3D-принтере или просто клеит коробочку из лего 😁. А какие свитчи/кейкапы сам используешь, если не секрет? Cherry Black или что-то поэкзотичнее?

Для тех, кто любит эксперименты, — Pico вполне тянет не только двухкнопочные OSU-клавы, но и MIDI-контроллеры и макропады. Так что штука реально многофункциональная, даже если надоело кликать Z и X.

Если кто собирался попробовать — вот прям тот случай, когда реально нет ничего сложного. Кому лень паять — есть ещё модульные контакты, ну или вообще можно Crokodile Clips накинуть для теста.

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

ОбсуждениеFC 26 футбольный симулятор

Назад
Сверху