KeeBee. Изготовление с нуля собственной USB-клавиатуры +126



Несколько месяцев назад завершился мой проект по изготовлению USB-клавиатуры. Среди прочего, я выполнил дизайн электронных схем, спроектировал печатную плат, запрограммировал прошивку, сделал макет в CAD и произвёл сборку устройства. В результате получилась удобная клавиатура, которую я использую ежедневно и ласково называю KeeBee:


Клавиатура KeeBee в окончательном виде

Несколько целей проекта:

  1. Самостоятельное создание схемы.
  2. Написание прошивки клавиатуры.
  3. Узнать, как работает протокол USB.

На работе я в основном разрабатываю программное обеспечение для облачных сервисов, где отсутствует много слоёв реального оборудования. Поэтому очень приятно избавиться от некоторых абстракций и опуститься на аппаратный уровень: здесь реальные электронные устройства, которые можно потрогать и использовать.

Исследование и макет CAD


Мне очень нравятся минималистичные клавиатуры в стиле OLKB Planck и Preonic, которые за счёт ортолинейного расположения клавиш получаются очень компактными. Ещё я сразу знал, что хочу использовать переключатели Cherry MX Brown. Имея виду эти два компонента дизайна, я начал играть с ключевыми макетами в OpenSCAD. Это отличный инструмент с открытым исходным кодом, который работает скорее как язык программирования, чем WYSIWYG-интерфейс для мышки.

Взяв размеры элементов из документации Cherry MX, я сделал макет верхней пластины, затем добавил переключатели и клавиши, чтобы получить представление о том, как будет выглядеть окончательный результат. Верхняя пластина находится над печатной платой клавиатуры и служит хорошим стабилизатором для переключателей.

Дизайн верхней пластины:



После добавления клавиш:





Прототипирование платы и проектирование прошивки


В качестве основного микроконтроллера я выбрал STM32F042K6T6. Это около трёх долларов за чип, если брать от одной штуки. У него достаточно контактов для матрицы сканирования 69 клавиш (всего 32 контакта). Он работает на процессоре ARM Cortex M0 и содержит специальную USB-периферию для отправки USB-сигнала, не загружая этой задачей основной процессор. Я купил dev-плату Nucleo для прототипирования с этим чипом, прежде чем интегрировать его в дизайн своей печатной платы. Nucleo очень удобно легла на макетную плату и запиталась по USB.

Я разместил на макетной плате маленькую цепь на четыре клавиши, чтобы протестировать диодный контур, который я изучал. Игнорируя USB-сторону уравнения, на первом шаге требовалось заставить переключатели Cherry надёжно включать и выключать четыре соответствующих светодиода при нажатии кнопок.



Матрица сканирования — это такая техника, которую нужно использовать, когда у вас больше переключателей, чем контактов на микроконтроллере.

Когда матрица удовлетворительно заработала, пришло время поработать над USB.

Встроенный цикл прошивки по сути такой:

  1. Просканировать все клавиши в матрице.
  2. Сопоставить расположение кнопок с соответствующими символами в выбранной раскладке (QWERTY, Dvorak и т. д.).
  3. Взять результат сопоставления, сгенерировать пакеты USB HID Report и отправить на периферийное устройство USB.
  4. Включить светодиод на клавиатуре, если клавиша нажата, выключить — если нет.

Из main.cc:

static void scan_and_update() {
    scan_matrix.Scan(key_scans, row_count, column_count);
    keyboard.SendReport(
        key_pipeline.MapKeyScans(key_scans, key_count));
    update_key_press_status();
}

int main() {
    Init();

    status_led.SetOk(true);
    while (true) {
        scan_and_update();
    }
}

Компонент keyboard.SendReport фактически передаёт пакеты USB-хосту. Я упорно пытался заставить USB правильно работать. В этом протоколе много нетривиальных слоёв, которые требуют точного тайминга и правильной идентификации устройства. В итоге пришлось запустить Wireshark, чтобы прослушать все USB-пакеты, поступающие на мой ноутбук Linux и выяснить, где что потерялось. Поиск в интернете практически ничего не дал, на большинство вопросов отвечают примерно так: «Вероятно, ваше USB-устройство сломалось, нужно купить новое». Если вы на самом деле пытаетесь сконструировать USB-устройство, такие ответы не очень полезны. Мне оставалось только погрузиться в объёмные спецификации USB с большим количеством незнакомой терминологии.

Повозившись некоторое время, я всё-таки заставил клавиатуру с четырьмя клавишами корректно идентифицировать себя как USB HID (Human Interface Device) и все нажатия правильно передавались на ноутбук:



Регистрация в качестве USB-вендора и получение официального device id дорого стоит. Если у вас просто любительский проект, то придётся захватить идентификатор какого-нибудь похожего устройства. Я подумал, что “Gear Head” звучит круто, тем более они выпускают клавиатуры, поэтому выбрал их.



Схема и печатная плата


Получив более-менее работающую прошивку и рабочий прототип, пришло время составить схему и дизайн печатной платы в KiCAD и сделать реальную печатную плату. Когда я добился, что схема для 4 кнопок работает, осталась относительно простая задача соединить всё вместе:



После разработки схему и установки площадок для компонентов нужно произвести макет реальной печатной платы:



KiCAD умеет красиво рендерить будущую плату в 3D:





Есть много отличных учебников по KiCAD. Я начал с отличной видеосерии Getting to Blinkey 4.0 от Криса Гэммела, где он подробно разъясняет все этапы создания схемы светодиодного юлинкера в KiCAD от начала до конца.

Заказ печатной платы и компонентов


Доведя схему и дизайн печатной платы до удовлетворительного уровня, я начал размещать кучу заказов:

  1. Все компоненты из списка материалов: переключатели, светодиоды, диоды, микроконтроллеры и т. д. Я обычно заказываю такие штуки на DigiKey.
  2. Сама печатная плата. Довольно много сервисов готовы недорого изготовить вам пррототип. У меня отличный опыт работы с OshPark и JLCPCB. Для этого проекта я выбрал JLCPCB из-за цены на такой размер, а ещё потому что они разрешили выбрать синее покрытие.
  3. Все остальные детали: крышки и прочее. Для этого проекта мой шурин помог лазером вырезать верхнюю и нижнюю клавиатурные пластины из 1/4” акриловых листов. Для остальных частей можно использовать онлайновые сервисы лазерной резки и 3D-печати, если нет доступа к оборудованию.

День, когда пришла посылка с платой, самый лучший:





JLCPCB очень доступный сервис. Этот дизайн с доставкой DHL из Китая обошёлся менее чем в $30, а весь процесс от загрузки файлов до прихода посылки занял чуть больше недели.

Шурин взял DXF-файлы из OpenSCAD и забросил их в лазерный резак:



Окончательная сборка


Получив все детали, я начал сборку. Первый шаг — сборка компонентов печатной платы: паяльник для больших электронных компонентов и паяльная станция для поверхностного монтажа маленьких компонентов, таких как микроконтроллер STM32.

Общее время сборки платы составило около трёх часов — большую часть заняла пайка 70 диодов и переключателей.

Я добавил хедер для JTAG-отладки, через который подключил JLINK Edu mini для прошивки микроконтроллера с помощью OpenOCD.

Затем пришло время окончательного тестирования и финальной сборки:







Сын решил, что это отличный поезд для его животных:





Итоги


От первоначальной идеи до окончательной сборки проект занял около трёх месяцев. Было исключительно полезно в качестве хобби сделать то, что я до сих пор ежедневно использую на работе.

Все файлы проекта опубликованы на GitHub, в том числе исходники прошивки, схемы печатных плат, список материалов и модели CAD.

Спасибо за чтение и приятных хаков!

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (81):

  1. red_perez
    /#19780374 / +1

    пришло время составить схему и дизайн печатной платы в KiCAD


    Зацепился глазом за эту фразу, я как старый зубр схемы рисую в чем то уже безнадежно устаревшем, элементарно лениво искать что то лучше, но походу время уже пришло. Вы давно KiCAD используете? Есть сложности?

    • greabock
      /#19780406 / +2

      Это перевод ) Автора здесь нет

      • red_perez
        /#19780500 / +1

        Извините, по запарке не обратил внимания.
        Может кто от себя прокомментирует тогда?

        • kt819a
          /#19780696 / +2

          На предыдущем месте работы довольно плотно пользовался KiCADом, даже как-то умудрялись оформлять документацию по ГОСТ. Сейчас использую Altium, но для хобийный проектов так и остался KiCAD. Последние версии довольно стабильные, не припомню каких-то фатальных недоработок. Большая библиотека элементов, хотя и свои добавить не составит труда. Единственное, пришлось на первых парах привыкнуть к горячим клавишам, для более-менее удобной работы.

          • red_perez
            /#19780706

            Спасибо, мне именно для хоббийных проектов

            • rstepanov
              /#19782014

              DipTrace посмотрите, там есть ограничения если не покупать лицензию, но для хобби проектов обычно незарегистрированной версии достаточно.

              • asakasinsky
                /#19783136 / +1

                Для хобби у DipTrace есть лицензия (ограничение в 1000 выводов, 4 слоя)

                лицензия
                User name: Для некоммерческого использования
                Reg. key: HW9S-PDTN-T5MA-HPXE

    • vasiaplaton
      /#19780546

      Попробуйте easy-eda. Она онлайн, крайне простая, и там отличная библиотека компонентов. Проверенная. Найти можно все что угодно. Она не идеальна, но мне показалась норм, хотя с проф средами разработки типо орла или альтиуима сравнивать тяжело. Но вы просто попробуйте.

      • red_perez
        /#19780630

        Спасибо за наводку, уже пробую.

      • tezcatlipoc
        /#19780962

        Не советую easyIDE. Да он браузерный со сквозной привязкой к магазинам и онлайн-библиотекам но на этом все. Его крутые облачные фичи не работают потому что сервера постоянно висят, а реализация отрисовки трасировшика реализована понятное дело на JS что дает очень интересные результаты.
        Не знаю как небольшие проекты, но как то на пробу решил один заказ выполнить в нем что бы изучить окружение. Восторгов было масса, пока практически на самом финише я не заметил что трассировшик путает лучи привязки. Я так понимаю вылезла стандартная проблема JS с памятью, так как у меня там 200+ элементов было. Причем принципиальная схема в порядке. перезагрузка страницы и браузера с очисткой кеша давала каждый раз новые «соединения» трассировка.
        Я им отписался тогда но кроме автоответа ничего не получил с тех пор. По-моему проект уже давно мертв и не развивается.

        А кикад шикарен для оочень многого. Единственный минус только временами вылазят особенности использования как OpenSorse проекта. Очень хитровывернутые форматы 3Д моделей для элементов, горячие клавиши к которым просто надо привыкнуть и скрытый функционал о котором можно узнать только из документации.
        В остальном же 10 из 10. Поддержка любого количества слоев, ограничения на размер нет, картинки и детали любой сложности. Есть удобные реализации вложенных документов для больших проектов, поддержка стандартов, тончайшая настройка всего и мультияз.

    • ELEKTRO_YAR
      /#19783864 / -1

      Попробуйте Altium

      • red_perez
        /#19784106

        Он у меня на работе есть.
        Дак там 15 дней пробная версия а дальше платить надо, это профессиональный тул, явно избыточный для домашних проектов.

      • Juzujka
        /#19784152

        дороговато для хобби будет.

    • Juzujka
      /#19784188

      Сложности есть.
      Своеобразный подход к библиотекам.
      Своеобразный интерфейс редактора схем.
      Но это преодолимо.
      За 16 часов, пожалуй, осовиться можно.
      А вместо OpenSCAD я бы предложил FreeCAD. Он более дружелюбен.
      С помощью того или другого сможете сами добавлять 3D модели элементов, которых нет в библиотеках KiCAD. Тогда сможете генерить 3D модели сборок и со своими 3D моделями элементов.

      • red_perez
        /#19784212

        Спасибо, на выходных попробую

  2. mpa4b
    /#19780862 / +1

    Не могли бы вы выгнать схему(ы) в виде .pdf и добавить в репу?

  3. keyboards_master
    /#19780968 / -4

    Я сделяль, как обычно на хабре.

    Для начала — как решается вопрос с ghosting? Да никак не решается. N-key rollover? Тоже никак. Для самодельных клавиатур уже стандартом стала поддержка в том или ином виде одновременного нажатия нескольких клавиш, здесь же не видно даже попыток решить проблему.

    Длиннющие линии USB через пол-платы? А ничего, что это должна быть дифференциальная пара? Сойдет для первого проекта, но на самом деле автору крупно повезло, что все заработало.

    Прошивка? Очень слабенько, тоже похоже на первые опыты с микроконтроллером вообще. О дребезге клавиш автор опять же ничего не слышал — хотя Cherry MX в целом неплохи и дребезг у них обычно короче 1-2 мс. Так как отправка данных по USB здесь блокирующая и происходит раз в 10 мс — жить как-то можно.

    Я, конечно, могу понять радость автора от сделанной своими руками клавиатуры — но честное слово, зачем тащить это на «профессиональный ресурс»?

    • maksim_ms
      /#19781068 / +1

      Подскажите где можно почитать про создание своей клавиатуры?
      Подумываю тоже собрать клавиатуру под себя, только плату буде брать с готовой и с прошивкой.

      • tezcatlipoc
        /#19781198

        1. Гугл: Arduino + библиотека USB keyboard
        2. Купить, поиграться, порадоваться
        3. Гугл: сдвиговые регистры + ардруино
        4. купить, поиграться, порадоваться
        5. Гугл: ютуб + вырисовываемым печатную плату с нуля
        6. Скачиваем, устанавливаем, рисуем, страдаем и радуемся
        7. берем бумажку и при помощи деревянных счет считаем чего и сколько нам нужно в компонентах
        8. Заказываем в магазине DIP-компоненты под задачу, паяльник, флюс и олово
        9. Рисуем плату своей мечты, заказываем у любого локального представителя или на авито у аматоров за символическую сумму
        10. Заказываем на алиекспрессе нужное количество переключателей
        11. 18+ с паяльником, платой и радиокомпонентами. Компонентов желательно взять с запасом. И плату если бюджет позволяет
        12. Вставляем ардуинку, назначаем нужные клавиши на отдачу и пускаем скупую бородатую слезу


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

        В итоге на все про все от силы месяц по часу-два вечером после работы как увлечение
        Огромное количество эмоций на протяжении всего срока гарантируется
        P.S.
        Фирма не несет ответственности за оттенок эмоций.

        • rstepanov
          /#19782036

          + habr.com/ru/post/409707

          пысы: я уже осознал сколько там косяков, сейчас бы сделал намного лучше :)

          • dlinyj
            /#19783436

            Да ладно, нормальный проект. Я просто накидал ссылки из гугла.

            • rstepanov
              /#19783700

              Спасибо. Реально когда я это делал я особо не задумывался насчет ghosting/masking, в результате там определенные комбинации не работают. Но переделывать уже желания нет, все равно это малопрактичная игрушка…

          • maksim_ms
            /#19786634

            Спасибо всем за ссылки.
            Сейчас собираю клавиатуру по варианту описанному ниже.

            Жду пока доедет XD75 с Али + тестер переключателей.

            Хотелось бы видеть больше статей как быстро и просто собрать клавиатуру под себя. Так сказать первый вариант без наворотов. Потому как путь описанный в большинстве статей, и частности в этой, про самодельные клавиатуры не каждый сможет повторить.

        • AVI-crak
          /#19782500

          В этом проекте используется stm32f042k6t. Для которого фирма поставляет крайне глюкавые usb драйвера из кубика, с древними ошибками первой версии. Иногда мне кажется что они специально так поступают — чтобы пользователям осталось пространство для побед.
          Это для аурдинциков есть готовые библиотеки, а тут нужно думать.
          И да, примеров в сети очень мало, а рабочих вовсе не встречал до этого момента.

          • golf2109
            /#19782872

            а можно ссылки на описание «глюкавости» с «древними ошибками первой версии» и методы ее решения?

    • dlinyj
      /#19781074 / +1

      Чувак что-то сделал, показывает опыт работы и то что это может каждый. Никто не застрахован от ошибок. Если вы так критикуете, то где же ваши публикации?

    • jar_ohty
      /#19781510

      Если это USB 1.1, то требования к выравниванию длины линий дифпары снижаются практически до нуля.

    • Nicknnn
      /#19781706

      А слабо скачать и схему посмотреть?

      как решается вопрос с ghosting?
      Полностью. Там на каждую клавишу диод.

      Длиннющие линии USB через пол-платы?
      И что? Они параллельно идут. Немного странно в районе самого разъёма сделано но не критично для USB 1.1

      N-key rollover? Тоже никак.
      Можно прув на его код? Если там реализован только HID Boot Protocol то соглашусь. Посмотрел код. Да там 6 клавиш.

    • opckSheff
      /#19782840 / +1

      Слава хабрабогам, что теперь на «профессиональном ресурсе» зарегистрировался настоящий клавиатурный профессионал и наконец-то нас всему научит.

  4. jar_ohty
    /#19781488

    А что это за такая чуднАя раскладка?

  5. Steve_Key
    /#19781636

    Кстати, чат любителей изобретать клавиатуры «под свои руки»: t.me/klavaorgwork

  6. johnfound
    /#19782032

    Я давно планирую сделать себе нетбук с механической клавиатурой. Только никак не могу решить делать ортогональную (как здесь) или нормальную с сдвинутыми рядами. Кто нибудь работал на такую как в статью? Говорят что удобнее чем когда ряды сдвинуты на пол-клавиша.

    • rstepanov
      /#19782066

      Удобно или неудобно — в основном вопрос привычки. Если умеете быстро печатать на стандартной раскладке — смысл переучивания на нестандартную неочевиден.

      зы: посмотрите на низкопрофильные механические свитчи, например kailh choc, для ноутбука/нетбука отлично подойдут.

      • johnfound
        /#19782674

        Ортогональная раскладка позволяет решить некоторые проблемы, например с несоразмерно большими клавишами shift, tab и capslock. К тому же, люди утверждают что привычки не влияют (или почти) на скорости ввода… В конце концов, такие клавиатуры не очень популярные, а все их пользователи научились впервые печатать на классические клавиатуры.

    • quartz64
      /#19784050 / +1

      У меня Ergodox, скоро добавится Kinesis. Некоторое время был Nyquist, 12x5, но раздельная. По скорости набора примерно одинаково с обычными клавиатурами, дополнительная эргономичность достигается за счёт других вещей:

      • Нампад. Ортолинейную клавиатуру не обязательно делать с выделенным нампадом. Удобней держать его на слое, и он будет иметь привычное расположение клавиш.
      • Поворот блоков клавиш и некоторое вертикальное смещение под разную длину пальцев (a la Ergodox, Atreus, Signum, Catboard).
      • Более рациональное использование нижнего ряда. Непосредственного отношения к ортолинейности не имеет, но как правило, за счёт отказа от длинного пробела в пользу 1U и 2U клавиш можно уместить больше функционала в нижнем ряду. Чтобы не путаться, можно поставить туда клавиши с тактильными метками или сделать метки из 2мм стальных шариков.

  7. RuK
    /#19782546

    Простите, но — «Повеяло “совком”»

    • johnfound
      /#19782684 / +1

      Вообще-то это не совок, это хуже – коммунизм в чистом виде. Ведь "каждому по потребностям". А как, если человеку нужна именно такая голубая, механическая и ортогональная клавиатура? Ведь такие в магазинах не продают.

      • RuK
        /#19782712

        Не, я про то, что подобные клавиатуры делали энтузиасты в 80-х для ZX-Spectrum, а нынче всё таки 2019-й.

        • danial72
          /#19782860

          Стиль этой клавиатуры шикарен, для меня и толпы людей. Эта клавиатура выглядит совково, но у нее есть харизма.

          • RuK
            /#19784904 / +1

            Так и я говорю что совково — странно только что вам за это плюсуют, а мне наоборот, понаставили минусов да ещё и карму слили.
            Очень странная реакция… Видимо «толпа» которой такие клавы нравятся люди неадекватные и агрессивные. Хорошо что я не из вашей толпы. )))

            • quartz64
              /#19785194

              Давайте я Вам понаставлю плюсов, покажу, что кнопкопоклонничество — религия добра. Видимо, некоторые восприняли Ваш комментарий как некую агрессию или снисходительное невежество, как в том бородатом анекдоте про художника и нового русского («гляди, сынок, как человек без полароида мучается»). Меж тем, я вижу в Вашем комментарии лишь ностальгию по временам 30-летней давности, периода всеобщего увлечения спектрум-клонами.
              Но позвольте не согласиться с Вашим тезисом о том, что в наш изобильный век заниматься самостоятельным изготовлением электроники нет никакой нужды. Как раз по причине отсутствия дефицита сейчас почти каждый может позволить себе приобрести инструменты и комплектующие, найти нужный сервис — всё чтобы создать своё уникальное изделие, а не просто от безысходности. В данном конкретном случае, если судить по тернистому пути (проектирование платы, написание прошивки), человеком двигало в первую очередь желание применить свои умения в области 3D-моделирования, проектирования печатных плат и программирования, и уже во вторую — практическая цель в виде получения ортолинейной клавиатуры.
              Неказистый вид этой клавиатуры связан с применением самой дешёвой и практичной разновидности корпуса в виде нарезанных лазером листов акрила. Но, опять таки, в наш век изобилия и автоматизации можно найти сервис, где вам сделают фрезерованный корпус из алюминия или ценных пород дерева.

              • RuK
                /#19785690

                Видимо да. Хотя, на самом деле, я как раз из тех кто собирал «Спектрумы». Вот так вот за подобное увлечение можно получить слив кармы через 30 лет после его сборки. (Шучу) ))

          • rgs350
            /#19787058

            У большинства субкультур есть свои визуальные отличительные признаки (панки — ирокез, эмо — розовые челки и т.д.). Скажите, пожалуйста, какой отличительный признак у толпы с харизматичными клавиатурами. Я тогда смогу обходить вас стороной. Заранее спасибо. :)

            • johnfound
              /#19787342

              Клавитуры же. Щелкающие и странные.

              • rgs350
                /#19787494

                Не очень надежный признак, так-как не понятно где находится грань, отделяющая обычную клавиатуру от харизматичной :)

        • johnfound
          /#19783022

          Ну-у-у, хорошая клавиатура и в 80x и 2019-й примерно одна и та же, плюс-минус usb.

        • red_perez
          /#19784170

          Не, я про то, что подобные клавиатуры делали энтузиасты в 80-х для ZX-Spectrum, а нынче всё таки 2019-й.


          Думаю смысл в том что увлечение(хобби) помогает определиться с выбором профессии в молодости и наработать реальный опыт.
          Как например произошло в моем случае, я практически сразу начал рисовать схемы и только потому что был стаж радиолюбителя начиная с 10лет.
          А в зрелом возрасте ваше хобби может помочь определиться с выбором профессии уже вашим собственным детям. Короче нужная вещь + удовольствие.

  8. xtreye
    /#19782710

    троллейбус.jpg

    • Gugic
      /#19782746

      Ну тролейбус-не тролейбус, а найти, например, приличную bt (а еще лучше — комбинированную, чтобы bt/usb-c и зарядка от ноутбучного адаптера) механику, в идеале — поддерживающую hot-swap переключателей и несколько девайсов по bt, довольно трудно. BT 5 и похоже что даже 4.2 — невозможно, только-только начали 4.0 завозить. Даже pcb таких нет в продаже, не то, что готовых клавиатур. Вот подумываю над тем, чтобы тоже размять голову и руки. (да, у меня уже есть anne pro 2 и она почти идеальная, но все же).

      • xtreye
        /#19783132

        Вот. Теперь добавьте это в начало статьи у будет нормальная постановка задачи :)

      • rgs350
        /#19784184 / -1

        А не легче-ли просто прокачать скилл по*уизма? Он гораздо универсальней и разом решает множество схожих проблем.

      • mezastel
        /#19784284

        А еще она должна кормиться от 18650 (с возможностью внутренней зарядки и индикатором заряда) и быть программируемой без разбора всей клавиатуры чтобы замкнуть несчастный джампер.

        • Gugic
          /#19784494

          18650 сильно большие. При условии зарядки через type-c + pd можно будет кормить от павербанка (опционально — с 18650). Внутрь обычно все-таки ставят плоские батарейки на 3.7 вольта.

          Заливка прошивки через USB конечно.

          • mezastel
            /#19785364

            На вкус и цвет, но 18650 это универсальный стандарт, и в большой кейс влезет без проблем.

  9. polyanin
    /#19782880

    Общий недостаток у всех нестандартных клавиатур в том, что привыкнув к ней, придётся везде таскать её с собой, домой, на работу, или делать несколько одинаковых. Тяжело потом переучиться.

    • dlinyj
      /#19783006

      Можно заказать две платы

    • Arcanum7
      /#19783048

      Вы говорите так как будто это плохо.
      Если вы сделали одну такую клавиатуру, то что мешает сделать их две? Три? Одна на работе, вторая дома.
      И опять таки diy клаву хороши тем что они могут быть ровно такими какими хочет видть их создатель+обладатель. Всё от жеания зависит.

    • quartz64
      /#19783656

      Это не так. Я себя считаю аутсайдером в плане ловкости и координации движений, да и лет уже далеко не 18. Первоначальное привыкание шло трудно, но потом никаких проблем при переходе между несколькими клавиатурами я не замечаю, адаптация происходит за минуту-две.
      На работе Ergodox, но часто приходится на несколько дней переключаться на полноразмерные IBM Model M 104 и 122; дома — низкопрофильная Rapoo (ради совместимости с женой и тишины), обрез из Model M, а ведь ещё и в Thinkpad своя клавиатура.
      Вот что действительно требует унификации, так это макросы. Я стараюсь держать на всех клавиатурах одинаковый их набор на привычных клавишах.

      • Gugic
        /#19783766

        Кстати да. Самая боль — это прыжки между mac os/не mac os в плане ctl/cmd. Причем если «на девайсе» еще как-то более менее получается разделять просто за счет того, что железяки разные, это помогает, то вот когда «удаленный рабочий стол» с макбука на линукс, или тем паче просто приложение через X11 Forwarding поднято (nomachine/xpra туда же)… хотя и к этому привычка вырабатывается.

    • mezastel
      /#19784292

      Я использую несколько клавиатур с разными раскладками и свичами. Хорошая разминка для мозга. Хотя должен признаться, что Topre все же лучше всех, увы.

  10. quartz64
    /#19783850

    Если кто-нибудь хочет это повторить, но разработка ради 1–2 экземпляров платы, прошивки и корпуса кажется излишеством, то есть несколько способов снизить трудоёмкость:

    1. XD75 от китайцев (ищите KPrepublic на Aliexpress). Поддерживается QMK. На один ряд длинее (15?5 вместо 14?5). Есть отдельно плата, разные виды корпусов на выбор, клавиши пустые и с термосублимацией.
    2. Разработку полностью своей клавиатуры можно существенно упростить. Раскладка рисуется в KLE, затем под неё в пару кликов генерируются чертежи монтажной пластины в swillkb, затем выполняется навесной монтаж. В качестве контроллера можно взять что-нибудь на базе Atmega32U4 (Pro Micro, Micro), что без проблем поддерживается в QMK. Дёшево, но муторно из-за навесного монтажа.

    Ортолинейные клавиатуры действительно удобны после некоторого привыкания, но, на мой вкус, эргономичности от них можно добиться только расположением блоков клавиш под некоторым углом, т.е. нужно делать либо раздельную, где половинки можно вертеть, как хочешь (кстати, вот тут есть замечательный список раздельных клавиатур), либо компромиссный вариант — Atreus/Atreus62:
    Модифицированный Atreus 62
    image

  11. plutiara
    /#19783904

    Сколько итоговая сумма клавиатуры вышла?! Если еще учесть ± резку шурина :) Очень круто! Можно доработать и в поток :)

    • quartz64
      /#19784216

      Это переводная статья, тут нет автора. Но можно прикинуть:

      • Плата: 2000
      • Акриловый корпус: 1500
      • МК: 200
      • Переключатели (не знаю, что он использовал, посчитаем Gateron): 1200
      • Клавиши: 1650
      • Остальное (диоды, USB-разъём, провод): 300

      Итого: 6850 руб.
      Тут можно сэкономить за счёт навесного монтажа, но в принципе минимальная стоимость более-менее стандартного кастома как раз и составляет около $100.

  12. Azya
    /#19784122

    Так вот кто скупил все SA колпачки, недавно искал, с трудом нашел белые, но так и не смог найти черные(

    • quartz64
      /#19784150

      Так это DSA. Китайцы давно научились приличного качества DSA из PBT делать. Достаточно толсты, не хуже SP практически, хоть и попадается иногда брак (кляксы от пластика другого цвета).

      • Azya
        /#19784234

        Точно, на кпдв такой ракурс что они показались полноразмерными. При этом я еще и ABS хотел.

      • mezastel
        /#19784306

        Вот тут я не соглашусь. DSA которые продаются на AliExpress безобразного качества, категорически не советую. DSA лучше брать на проверенных западных сайтах, в т.ч. Massdrop где иногда бывают неплохие DSA/XDA дропы.

        • quartz64
          /#19784416

          Если с сублимационной печатью, то да, у SP контроль качества выше. А вот на бланках я, как нищеброд со стажем, разницы никакой не вижу (разве что китайские лучше заказать с небольшим запасом на случай откровенного брака, чтобы долго не ждать повторной доставки). SP-шных сейчас под рукой нет. Но можно, например, на вот это сравнение взглянуть.

          • mezastel
            /#19785374

            Даже на бланках, цвета и оттенки, просто ощущаешь что у тебя в руках дешевый пластик. Не знаю, я точно не фанат. Купил как-то на Али «DSA Carbon» типа, бесячая гадость, выкинул.

            • rstepanov
              /#19785476 / +1

              Тоже вот купил:
              image

              Увидеть больше зла:
              image
              image

              Пробел пришлось выкинуть, остальным пользуюсь…

              • mezastel
                /#19785494

                Блин, нет, нет, нет. Я последнее время из магазов тоже ничего не беру, только дропы на Массдроп (та еще конторка конечно). Там хотя бы и качественно и когда дроп выходит, дают кучу всяких наборов альтернативных. Правда последний раз случился косяк — я взял MiTo XDA, так они мне одну клавишу забыли доложить, и в результате выслали целый дополнительный набор.

                • rstepanov
                  /#19785538

                  Массдроп — это дорого, сложно и нужна пересылка. Только ради чего-то совсем уж редкого.

  13. mezastel
    /#19784252

    Человек сделал копию XD75. Но зачем?!? Я понимаю что-то оригинальное, а такая клавиатура есть уже у почти всех постоянных посетителей r/mk.

    image

  14. igormich88
    /#19787490

    прочитав заголовок я подумал что контроллер тоже будут из транзисторов собирать.