Несколько месяцев назад завершился мой проект по изготовлению USB-клавиатуры. Среди прочего, я выполнил дизайн электронных схем, спроектировал печатную плат, запрограммировал прошивку, сделал макет в CAD и произвёл сборку устройства. В результате получилась удобная клавиатура, которую я использую ежедневно и ласково называю KeeBee:
Клавиатура KeeBee в окончательном виде
Несколько целей проекта:
На работе я в основном разрабатываю программное обеспечение для облачных сервисов, где отсутствует много слоёв реального оборудования. Поэтому очень приятно избавиться от некоторых абстракций и опуститься на аппаратный уровень: здесь реальные электронные устройства, которые можно потрогать и использовать.
Мне очень нравятся минималистичные клавиатуры в стиле 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.
Встроенный цикл прошивки по сути такой:
Из main.cc:
Компонент
Повозившись некоторое время, я всё-таки заставил клавиатуру с четырьмя клавишами корректно идентифицировать себя как USB HID (Human Interface Device) и все нажатия правильно передавались на ноутбук:
Регистрация в качестве USB-вендора и получение официального device id дорого стоит. Если у вас просто любительский проект, то придётся захватить идентификатор какого-нибудь похожего устройства. Я подумал, что “Gear Head” звучит круто, тем более они выпускают клавиатуры, поэтому выбрал их.
Получив более-менее работающую прошивку и рабочий прототип, пришло время составить схему и дизайн печатной платы в KiCAD и сделать реальную печатную плату. Когда я добился, что схема для 4 кнопок работает, осталась относительно простая задача соединить всё вместе:
После разработки схему и установки площадок для компонентов нужно произвести макет реальной печатной платы:
KiCAD умеет красиво рендерить будущую плату в 3D:
Есть много отличных учебников по KiCAD. Я начал с отличной видеосерии Getting to Blinkey 4.0 от Криса Гэммела, где он подробно разъясняет все этапы создания схемы светодиодного юлинкера в KiCAD от начала до конца.
Доведя схему и дизайн печатной платы до удовлетворительного уровня, я начал размещать кучу заказов:
День, когда пришла посылка с платой, самый лучший:
JLCPCB очень доступный сервис. Этот дизайн с доставкой DHL из Китая обошёлся менее чем в $30, а весь процесс от загрузки файлов до прихода посылки занял чуть больше недели.
Шурин взял DXF-файлы из OpenSCAD и забросил их в лазерный резак:
Получив все детали, я начал сборку. Первый шаг — сборка компонентов печатной платы: паяльник для больших электронных компонентов и паяльная станция для поверхностного монтажа маленьких компонентов, таких как микроконтроллер STM32.
Общее время сборки платы составило около трёх часов — большую часть заняла пайка 70 диодов и переключателей.
Я добавил хедер для JTAG-отладки, через который подключил JLINK Edu mini для прошивки микроконтроллера с помощью OpenOCD.
Затем пришло время окончательного тестирования и финальной сборки:
Сын решил, что это отличный поезд для его животных:
От первоначальной идеи до окончательной сборки проект занял около трёх месяцев. Было исключительно полезно в качестве хобби сделать то, что я до сих пор ежедневно использую на работе.
Все файлы проекта опубликованы на GitHub, в том числе исходники прошивки, схемы печатных плат, список материалов и модели CAD.
Спасибо за чтение и приятных хаков!
Клавиатура KeeBee в окончательном виде
Несколько целей проекта:
- Самостоятельное создание схемы.
- Написание прошивки клавиатуры.
- Узнать, как работает протокол 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.
Встроенный цикл прошивки по сути такой:
- Просканировать все клавиши в матрице.
- Сопоставить расположение кнопок с соответствующими символами в выбранной раскладке (QWERTY, Dvorak и т. д.).
- Взять результат сопоставления, сгенерировать пакеты USB HID Report и отправить на периферийное устройство USB.
- Включить светодиод на клавиатуре, если клавиша нажата, выключить — если нет.
Из 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 от начала до конца.
Заказ печатной платы и компонентов
Доведя схему и дизайн печатной платы до удовлетворительного уровня, я начал размещать кучу заказов:
- Все компоненты из списка материалов: переключатели, светодиоды, диоды, микроконтроллеры и т. д. Я обычно заказываю такие штуки на DigiKey.
- Сама печатная плата. Довольно много сервисов готовы недорого изготовить вам пррототип. У меня отличный опыт работы с OshPark и JLCPCB. Для этого проекта я выбрал JLCPCB из-за цены на такой размер, а ещё потому что они разрешили выбрать синее покрытие.
- Все остальные детали: крышки и прочее. Для этого проекта мой шурин помог лазером вырезать верхнюю и нижнюю клавиатурные пластины из 1/4” акриловых листов. Для остальных частей можно использовать онлайновые сервисы лазерной резки и 3D-печати, если нет доступа к оборудованию.
День, когда пришла посылка с платой, самый лучший:
JLCPCB очень доступный сервис. Этот дизайн с доставкой DHL из Китая обошёлся менее чем в $30, а весь процесс от загрузки файлов до прихода посылки занял чуть больше недели.
Шурин взял DXF-файлы из OpenSCAD и забросил их в лазерный резак:
Окончательная сборка
Получив все детали, я начал сборку. Первый шаг — сборка компонентов печатной платы: паяльник для больших электронных компонентов и паяльная станция для поверхностного монтажа маленьких компонентов, таких как микроконтроллер STM32.
Общее время сборки платы составило около трёх часов — большую часть заняла пайка 70 диодов и переключателей.
Я добавил хедер для JTAG-отладки, через который подключил JLINK Edu mini для прошивки микроконтроллера с помощью OpenOCD.
Затем пришло время окончательного тестирования и финальной сборки:
Сын решил, что это отличный поезд для его животных:
Итоги
От первоначальной идеи до окончательной сборки проект занял около трёх месяцев. Было исключительно полезно в качестве хобби сделать то, что я до сих пор ежедневно использую на работе.
Все файлы проекта опубликованы на GitHub, в том числе исходники прошивки, схемы печатных плат, список материалов и модели CAD.
Спасибо за чтение и приятных хаков!
red_perez
Зацепился глазом за эту фразу, я как старый зубр схемы рисую в чем то уже безнадежно устаревшем, элементарно лениво искать что то лучше, но походу время уже пришло. Вы давно KiCAD используете? Есть сложности?
greabock
Это перевод ) Автора здесь нет
red_perez
Извините, по запарке не обратил внимания.
Может кто от себя прокомментирует тогда?
kt819a
На предыдущем месте работы довольно плотно пользовался KiCADом, даже как-то умудрялись оформлять документацию по ГОСТ. Сейчас использую Altium, но для хобийный проектов так и остался KiCAD. Последние версии довольно стабильные, не припомню каких-то фатальных недоработок. Большая библиотека элементов, хотя и свои добавить не составит труда. Единственное, пришлось на первых парах привыкнуть к горячим клавишам, для более-менее удобной работы.
red_perez
Спасибо, мне именно для хоббийных проектов
rstepanov
DipTrace посмотрите, там есть ограничения если не покупать лицензию, но для хобби проектов обычно незарегистрированной версии достаточно.
asakasinsky
Для хобби у DipTrace есть лицензия (ограничение в 1000 выводов, 4 слоя)
Reg. key: HW9S-PDTN-T5MA-HPXE
vasiaplaton
Попробуйте easy-eda. Она онлайн, крайне простая, и там отличная библиотека компонентов. Проверенная. Найти можно все что угодно. Она не идеальна, но мне показалась норм, хотя с проф средами разработки типо орла или альтиуима сравнивать тяжело. Но вы просто попробуйте.
red_perez
Спасибо за наводку, уже пробую.
tezcatlipoc
Не советую easyIDE. Да он браузерный со сквозной привязкой к магазинам и онлайн-библиотекам но на этом все. Его крутые облачные фичи не работают потому что сервера постоянно висят, а реализация отрисовки трасировшика реализована понятное дело на JS что дает очень интересные результаты.
Не знаю как небольшие проекты, но как то на пробу решил один заказ выполнить в нем что бы изучить окружение. Восторгов было масса, пока практически на самом финише я не заметил что трассировшик путает лучи привязки. Я так понимаю вылезла стандартная проблема JS с памятью, так как у меня там 200+ элементов было. Причем принципиальная схема в порядке. перезагрузка страницы и браузера с очисткой кеша давала каждый раз новые «соединения» трассировка.
Я им отписался тогда но кроме автоответа ничего не получил с тех пор. По-моему проект уже давно мертв и не развивается.
А кикад шикарен для оочень многого. Единственный минус только временами вылазят особенности использования как OpenSorse проекта. Очень хитровывернутые форматы 3Д моделей для элементов, горячие клавиши к которым просто надо привыкнуть и скрытый функционал о котором можно узнать только из документации.
В остальном же 10 из 10. Поддержка любого количества слоев, ограничения на размер нет, картинки и детали любой сложности. Есть удобные реализации вложенных документов для больших проектов, поддержка стандартов, тончайшая настройка всего и мультияз.
ELEKTRO_YAR
Попробуйте Altium
red_perez
Он у меня на работе есть.
Дак там 15 дней пробная версия а дальше платить надо, это профессиональный тул, явно избыточный для домашних проектов.
Juzujka
дороговато для хобби будет.
Juzujka
Сложности есть.
Своеобразный подход к библиотекам.
Своеобразный интерфейс редактора схем.
Но это преодолимо.
За 16 часов, пожалуй, осовиться можно.
А вместо OpenSCAD я бы предложил FreeCAD. Он более дружелюбен.
С помощью того или другого сможете сами добавлять 3D модели элементов, которых нет в библиотеках KiCAD. Тогда сможете генерить 3D модели сборок и со своими 3D моделями элементов.
red_perez
Спасибо, на выходных попробую
mpa4b
Не могли бы вы выгнать схему(ы) в виде .pdf и добавить в репу?
rstepanov
Это перевод.
keyboards_master
Я сделяль, как обычно на хабре.
Для начала — как решается вопрос с ghosting? Да никак не решается. N-key rollover? Тоже никак. Для самодельных клавиатур уже стандартом стала поддержка в том или ином виде одновременного нажатия нескольких клавиш, здесь же не видно даже попыток решить проблему.
Длиннющие линии USB через пол-платы? А ничего, что это должна быть дифференциальная пара? Сойдет для первого проекта, но на самом деле автору крупно повезло, что все заработало.
Прошивка? Очень слабенько, тоже похоже на первые опыты с микроконтроллером вообще. О дребезге клавиш автор опять же ничего не слышал — хотя Cherry MX в целом неплохи и дребезг у них обычно короче 1-2 мс. Так как отправка данных по USB здесь блокирующая и происходит раз в 10 мс — жить как-то можно.
Я, конечно, могу понять радость автора от сделанной своими руками клавиатуры — но честное слово, зачем тащить это на «профессиональный ресурс»?
maksim_ms
Подскажите где можно почитать про создание своей клавиатуры?
Подумываю тоже собрать клавиатуру под себя, только плату буде брать с готовой и с прошивкой.
tezcatlipoc
Из особенностей — перед тем как заказывать детали и заказывать плату настоятельно советую пристать к кому-то даже в комментариях на хабре кто в теме, что бы хоть одним глазом посмотрел вашу гравицапу.
В итоге на все про все от силы месяц по часу-два вечером после работы как увлечение
Огромное количество эмоций на протяжении всего срока гарантируется
P.S.
Фирма не несет ответственности за оттенок эмоций.
dlinyj
habr.com/ru/post/177347
habr.com/ru/post/177405
habr.com/ru/post/123941
habr.com/ru/post/157775
Ну и гугл
rstepanov
+ habr.com/ru/post/409707
пысы: я уже осознал сколько там косяков, сейчас бы сделал намного лучше :)
dlinyj
Да ладно, нормальный проект. Я просто накидал ссылки из гугла.
rstepanov
Спасибо. Реально когда я это делал я особо не задумывался насчет ghosting/masking, в результате там определенные комбинации не работают. Но переделывать уже желания нет, все равно это малопрактичная игрушка…
maksim_ms
Спасибо всем за ссылки.
Сейчас собираю клавиатуру по варианту описанному ниже.
Жду пока доедет XD75 с Али + тестер переключателей.
Хотелось бы видеть больше статей как быстро и просто собрать клавиатуру под себя. Так сказать первый вариант без наворотов. Потому как путь описанный в большинстве статей, и частности в этой, про самодельные клавиатуры не каждый сможет повторить.
AVI-crak
В этом проекте используется stm32f042k6t. Для которого фирма поставляет крайне глюкавые usb драйвера из кубика, с древними ошибками первой версии. Иногда мне кажется что они специально так поступают — чтобы пользователям осталось пространство для побед.
Это для аурдинциков есть готовые библиотеки, а тут нужно думать.
И да, примеров в сети очень мало, а рабочих вовсе не встречал до этого момента.
golf2109
а можно ссылки на описание «глюкавости» с «древними ошибками первой версии» и методы ее решения?
AVI-crak
Этой публикации мало?
dlinyj
Чувак что-то сделал, показывает опыт работы и то что это может каждый. Никто не застрахован от ошибок. Если вы так критикуете, то где же ваши публикации?
jar_ohty
Если это USB 1.1, то требования к выравниванию длины линий дифпары снижаются практически до нуля.
Nicknnn
А слабо скачать и схему посмотреть?
Полностью. Там на каждую клавишу диод.И что? Они параллельно идут. Немного странно в районе самого разъёма сделано но не критично для USB 1.1
Можно прув на его код? Если там реализован только HID Boot Protocol то соглашусь.Посмотрел код. Да там 6 клавиш.opckSheff
Слава хабрабогам, что теперь на «профессиональном ресурсе» зарегистрировался настоящий клавиатурный профессионал и наконец-то нас всему научит.
jar_ohty
А что это за такая чуднАя раскладка?
Steve_Key
Так Дворак же!
jar_ohty
Аааа… а я подумал уж: хм… линотип, что-ли?
Steve_Key
Кстати, чат любителей изобретать клавиатуры «под свои руки»: t.me/klavaorgwork
NickSin
А чат секты кнопочников, в котором идут всегда жаркие обсуждения - https://t.me/ru_mechcult
johnfound
Я давно планирую сделать себе нетбук с механической клавиатурой. Только никак не могу решить делать ортогональную (как здесь) или нормальную с сдвинутыми рядами. Кто нибудь работал на такую как в статью? Говорят что удобнее чем когда ряды сдвинуты на пол-клавиша.
rstepanov
Удобно или неудобно — в основном вопрос привычки. Если умеете быстро печатать на стандартной раскладке — смысл переучивания на нестандартную неочевиден.
зы: посмотрите на низкопрофильные механические свитчи, например kailh choc, для ноутбука/нетбука отлично подойдут.
johnfound
Ортогональная раскладка позволяет решить некоторые проблемы, например с несоразмерно большими клавишами shift, tab и capslock. К тому же, люди утверждают что привычки не влияют (или почти) на скорости ввода… В конце концов, такие клавиатуры не очень популярные, а все их пользователи научились впервые печатать на классические клавиатуры.
quartz64
У меня Ergodox, скоро добавится Kinesis. Некоторое время был Nyquist, 12x5, но раздельная. По скорости набора примерно одинаково с обычными клавиатурами, дополнительная эргономичность достигается за счёт других вещей:
RuK
Простите, но — «Повеяло “совком”»
johnfound
Вообще-то это не совок, это хуже – коммунизм в чистом виде. Ведь "каждому по потребностям". А как, если человеку нужна именно такая голубая, механическая и ортогональная клавиатура? Ведь такие в магазинах не продают.
RuK
Не, я про то, что подобные клавиатуры делали энтузиасты в 80-х для ZX-Spectrum, а нынче всё таки 2019-й.
danial72
Стиль этой клавиатуры шикарен, для меня и толпы людей. Эта клавиатура выглядит совково, но у нее есть харизма.
RuK
Так и я говорю что совково — странно только что вам за это плюсуют, а мне наоборот, понаставили минусов да ещё и карму слили.
Очень странная реакция… Видимо «толпа» которой такие клавы нравятся люди неадекватные и агрессивные. Хорошо что я не из вашей толпы. )))
quartz64
Давайте я Вам понаставлю плюсов, покажу, что кнопкопоклонничество — религия добра. Видимо, некоторые восприняли Ваш комментарий как некую агрессию или снисходительное невежество, как в том бородатом анекдоте про художника и нового русского («гляди, сынок, как человек без полароида мучается»). Меж тем, я вижу в Вашем комментарии лишь ностальгию по временам 30-летней давности, периода всеобщего увлечения спектрум-клонами.
Но позвольте не согласиться с Вашим тезисом о том, что в наш изобильный век заниматься самостоятельным изготовлением электроники нет никакой нужды. Как раз по причине отсутствия дефицита сейчас почти каждый может позволить себе приобрести инструменты и комплектующие, найти нужный сервис — всё чтобы создать своё уникальное изделие, а не просто от безысходности. В данном конкретном случае, если судить по тернистому пути (проектирование платы, написание прошивки), человеком двигало в первую очередь желание применить свои умения в области 3D-моделирования, проектирования печатных плат и программирования, и уже во вторую — практическая цель в виде получения ортолинейной клавиатуры.
Неказистый вид этой клавиатуры связан с применением самой дешёвой и практичной разновидности корпуса в виде нарезанных лазером листов акрила. Но, опять таки, в наш век изобилия и автоматизации можно найти сервис, где вам сделают фрезерованный корпус из алюминия или ценных пород дерева.
RuK
Видимо да. Хотя, на самом деле, я как раз из тех кто собирал «Спектрумы». Вот так вот за подобное увлечение можно получить слив кармы через 30 лет после его сборки. (Шучу) ))
rgs350
У большинства субкультур есть свои визуальные отличительные признаки (панки — ирокез, эмо — розовые челки и т.д.). Скажите, пожалуйста, какой отличительный признак у толпы с харизматичными клавиатурами. Я тогда смогу обходить вас стороной. Заранее спасибо. :)
johnfound
Клавитуры же. Щелкающие и странные.
rgs350
Не очень надежный признак, так-как не понятно где находится грань, отделяющая обычную клавиатуру от харизматичной :)
johnfound
Ну-у-у, хорошая клавиатура и в 80x и 2019-й примерно одна и та же, плюс-минус usb.
red_perez
Думаю смысл в том что увлечение(хобби) помогает определиться с выбором профессии в молодости и наработать реальный опыт.
Как например произошло в моем случае, я практически сразу начал рисовать схемы и только потому что был стаж радиолюбителя начиная с 10лет.
А в зрелом возрасте ваше хобби может помочь определиться с выбором профессии уже вашим собственным детям. Короче нужная вещь + удовольствие.
xtreye
троллейбус.jpg
Gugic
Ну тролейбус-не тролейбус, а найти, например, приличную bt (а еще лучше — комбинированную, чтобы bt/usb-c и зарядка от ноутбучного адаптера) механику, в идеале — поддерживающую hot-swap переключателей и несколько девайсов по bt, довольно трудно. BT 5 и похоже что даже 4.2 — невозможно, только-только начали 4.0 завозить. Даже pcb таких нет в продаже, не то, что готовых клавиатур. Вот подумываю над тем, чтобы тоже размять голову и руки. (да, у меня уже есть anne pro 2 и она почти идеальная, но все же).
xtreye
Вот. Теперь добавьте это в начало статьи у будет нормальная постановка задачи :)
rgs350
А не легче-ли просто прокачать скилл по*уизма? Он гораздо универсальней и разом решает множество схожих проблем.
mezastel
А еще она должна кормиться от 18650 (с возможностью внутренней зарядки и индикатором заряда) и быть программируемой без разбора всей клавиатуры чтобы замкнуть несчастный джампер.
Gugic
18650 сильно большие. При условии зарядки через type-c + pd можно будет кормить от павербанка (опционально — с 18650). Внутрь обычно все-таки ставят плоские батарейки на 3.7 вольта.
Заливка прошивки через USB конечно.
mezastel
На вкус и цвет, но 18650 это универсальный стандарт, и в большой кейс влезет без проблем.
polyanin
Общий недостаток у всех нестандартных клавиатур в том, что привыкнув к ней, придётся везде таскать её с собой, домой, на работу, или делать несколько одинаковых. Тяжело потом переучиться.
dlinyj
Можно заказать две платы
Arcanum7
Вы говорите так как будто это плохо.
Если вы сделали одну такую клавиатуру, то что мешает сделать их две? Три? Одна на работе, вторая дома.
И опять таки diy клаву хороши тем что они могут быть ровно такими какими хочет видть их создатель+обладатель. Всё от жеания зависит.
quartz64
Это не так. Я себя считаю аутсайдером в плане ловкости и координации движений, да и лет уже далеко не 18. Первоначальное привыкание шло трудно, но потом никаких проблем при переходе между несколькими клавиатурами я не замечаю, адаптация происходит за минуту-две.
На работе Ergodox, но часто приходится на несколько дней переключаться на полноразмерные IBM Model M 104 и 122; дома — низкопрофильная Rapoo (ради совместимости с женой и тишины), обрез из Model M, а ведь ещё и в Thinkpad своя клавиатура.
Вот что действительно требует унификации, так это макросы. Я стараюсь держать на всех клавиатурах одинаковый их набор на привычных клавишах.
Gugic
Кстати да. Самая боль — это прыжки между mac os/не mac os в плане ctl/cmd. Причем если «на девайсе» еще как-то более менее получается разделять просто за счет того, что железяки разные, это помогает, то вот когда «удаленный рабочий стол» с макбука на линукс, или тем паче просто приложение через X11 Forwarding поднято (nomachine/xpra туда же)… хотя и к этому привычка вырабатывается.
mezastel
Я использую несколько клавиатур с разными раскладками и свичами. Хорошая разминка для мозга. Хотя должен признаться, что Topre все же лучше всех, увы.
quartz64
Если кто-нибудь хочет это повторить, но разработка ради 1–2 экземпляров платы, прошивки и корпуса кажется излишеством, то есть несколько способов снизить трудоёмкость:
Ортолинейные клавиатуры действительно удобны после некоторого привыкания, но, на мой вкус, эргономичности от них можно добиться только расположением блоков клавиш под некоторым углом, т.е. нужно делать либо раздельную, где половинки можно вертеть, как хочешь (кстати, вот тут есть замечательный список раздельных клавиатур), либо компромиссный вариант — Atreus/Atreus62:
plutiara
Сколько итоговая сумма клавиатуры вышла?! Если еще учесть ± резку шурина :) Очень круто! Можно доработать и в поток :)
quartz64
Это переводная статья, тут нет автора. Но можно прикинуть:
Итого: 6850 руб.
Тут можно сэкономить за счёт навесного монтажа, но в принципе минимальная стоимость более-менее стандартного кастома как раз и составляет около $100.
plutiara
Спасибо!
Azya
Так вот кто скупил все SA колпачки, недавно искал, с трудом нашел белые, но так и не смог найти черные(
quartz64
Так это DSA. Китайцы давно научились приличного качества DSA из PBT делать. Достаточно толсты, не хуже SP практически, хоть и попадается иногда брак (кляксы от пластика другого цвета).
Azya
Точно, на кпдв такой ракурс что они показались полноразмерными. При этом я еще и ABS хотел.
mezastel
Вот тут я не соглашусь. DSA которые продаются на AliExpress безобразного качества, категорически не советую. DSA лучше брать на проверенных западных сайтах, в т.ч. Massdrop где иногда бывают неплохие DSA/XDA дропы.
quartz64
Если с сублимационной печатью, то да, у SP контроль качества выше. А вот на бланках я, как нищеброд со стажем, разницы никакой не вижу (разве что китайские лучше заказать с небольшим запасом на случай откровенного брака, чтобы долго не ждать повторной доставки). SP-шных сейчас под рукой нет. Но можно, например, на вот это сравнение взглянуть.
mezastel
Даже на бланках, цвета и оттенки, просто ощущаешь что у тебя в руках дешевый пластик. Не знаю, я точно не фанат. Купил как-то на Али «DSA Carbon» типа, бесячая гадость, выкинул.
rstepanov
Тоже вот купил:
Пробел пришлось выкинуть, остальным пользуюсь…
mezastel
Блин, нет, нет, нет. Я последнее время из магазов тоже ничего не беру, только дропы на Массдроп (та еще конторка конечно). Там хотя бы и качественно и когда дроп выходит, дают кучу всяких наборов альтернативных. Правда последний раз случился косяк — я взял MiTo XDA, так они мне одну клавишу забыли доложить, и в результате выслали целый дополнительный набор.
rstepanov
Массдроп — это дорого, сложно и нужна пересылка. Только ради чего-то совсем уж редкого.
mezastel
Человек сделал копию XD75. Но зачем?!? Я понимаю что-то оригинальное, а такая клавиатура есть уже у почти всех постоянных посетителей r/mk.
igormich88
прочитав заголовок я подумал что контроллер тоже будут из транзисторов собирать.