O tym jak zbudowałem własną ergonomiczną klawiaturę mechaniczną.

Jak przystało na geeka z wieloletnim stażem w branży IT, na moim biurku przez lata spoczywały najróżniejsze klawiatury. Marek znanych i nieznanych. Jednak miały pewien wspólny mianownik – niezależnie od posiadanych bajerów były to „gumiaki”. Zmiany nadeszły, gdy zastąpił je Microsoft Ergonomic 4000. A jeszcze więcej, gdy na giełdzie dopadłem Świętego Graala klawiatur mechanicznych – IBM Model M.

Wróćmy jednak na chwilę do klawiatury Microsoftu. Zderzenie z tym produktem wspominam całkiem zabawnie – niby to QWERTY, niby polecało mi ją kilku znajomych, ale… No właśnie – pisanie na niej wymagało pewnego przyzwyczajenia. Na tyle że przez pierwszy tydzień użytkowania trzymałem na biurku w zapasie starą klawiaturę tylko w celu wpisywania haseł.

Z mechanikami na dobre zderzyłem się półtora roku temu. Potykając się na giełdzie o Model M z 1993 roku. Kto nie wie czym jest Model M zapraszam na Wikipedię. Ogólnie ujmując jest to tak dobra klawiatura mechaniczna, że dziś poniżej 100zł można o niej pomarzyć i wciąż wiele osób kupuje je w celach użytkowych (bardzo znany przykład – Markus Persson, autor Minecrafta). Unicomp – firma, która odkupiła linię produkcyjną rozwija i produkuje te klawiatury do dziś (w cenie około $100).

Odkopane zdjęcie Model M zaraz po zakupie
Odkopane zdjęcie Model M zaraz po zakupie

Niedługo po tym zakupie kupiłem swojego pierwszego współczesnego mechanika – Logitecha G710 w wersji z przełącznikami MX Blue. Od tamtego czasu posiadałem kolekcjonersko jak i użytkowo wiele różnych modeli, natomiast mój „daily driver” to G710+ na MX Brownach bez założonych oringów.

Ale miało być o budowaniu klawiatury, czyż nie?

Po przejściu na „mechaniki” brakowało mi bardzo ergonomicznego układu klawiatury podobnego do tego z Ergonomica 4000. Problem w tym, że takich mechaniczno-ergonomicznych klawiatur jest niezwykle mało, a jedyne co przypomina MSE4K to Cherry ErgoPlus MX-5000. G80-5000 to pierwsza klawiatura z moimi ulubionymi przełącznikami MX Brown, więc wystarczy upolować taką używaną i będzie super, prawda? A potem wszedłem na Ebay. Tak, $1000+. Ała.


Przykładowa aukcja. Warte więcej niż mój pierwszy samochód…

Będąc w tym momencie stałym czytelnikiem /r/MechanicalKeyboards naoglądałem się sporo build logów klawiatur budowanych często od zera przez użytkowników Reddita. Mniej więcej w tym samym czasie zauważyłem, że Fujitsu posiada w ofercie klawiaturę KBPC-E która do złudzenia przypomina MX-5000, ale niestety nie jest klawiaturą mechaniczną. I tak narodził się w mojej głowie plan, którego realizacja zajęła mi niemal rok.

Budowa klawiatur mechanicznych 101

W bardzo dużym skrócie, do zbudowania własnej klawiatury mechanicznej potrzebujemy:

  • diod, przełączników i nakładek (keycapów)
  • kontrolera i firmware do niego
  • kabli bądź płytek drukowanych
  • obudowy

Zacznijmy od przełączników. Jeśli decydujesz się budować własną klawiaturę, zapewne już zdążyłeś spróbować różnych rodzajów przełączników i masz swoje ulubione. Źródło przełączników jak i keycapów zależy od preferencji – można je zarówno zakupić, jak i wydobyć z gotowej klawiatury. Ja poszedłem tą drugą drogą.

Diody (złączowe, nie LED) to konieczność. W dużym skrócie pozwalają one na przepływ prądu tylko w jednym kierunku, dzięki czemu nasza klawiatura jest w stanie zarejestrować wiele przycisków na raz.


Tak prezentował się zamysł mojej klawiatury.

Firmware i kontroler. Najpopularniejszymi otwartymi firmware są TMK i QMK. QMK to fork TMK, oba są cały czas rozwijane. Jeśli chodzi o kontrolery, najczęściej spotykane są płytki oparte o mikrokontroler Atmega 32U4, czyli Teensy 2.0 i Adruino Pro Micro.
Teensy kosztuje sporo więcej (około 100zł vs 30), natomiast ma dwie duże zalety: łatwość programowania (prosty program z trzema przyciskami zamiast środowiska Arduino IDE) i dostępne więcej pinów kontrolera które są nam bardzo potrzebne.

Płytki drukowane bądź kable – chodzi tu o połączenie przełączników z kontrolerem. Dla osób nie doświadczonych w projektowaniu płytek drukowanych optymalnym rozwiązaniem jest polutowanie wszystkiego na kablach – jak zrobiłem ja.

Automatyka

Po dłuższym czytaniu Reddita natrafiłem na interesujące linki. Pierwszy z nich to Keyboard Layout Editor – edytor fizycznego układu klawiszy. Dzięki niemu zaprojektowałem układ widoczny na obrazku. Jest to odwzorowanie układu G80-5000, identycznego zresztą jak w KBPC-E.

Druga strona to Plate and Case Builder. Strona na podstawie layoutu z KLE i wybranych parametrów generuje gotowe pliki CAD do wycięcia płyty bazowej dla przełączników, oraz ewentualnie pozostałych elementów które po złożeniu w formie „kanapki” stworzą nam gotową obudowę.


Rysunek jaki został wysłany do wycięcia w 2mm stali.

Strona trzecia to Keyboard Firmware Builder – po wrzuceniu na nią layoutu z KLE zbudujemy tu gotowy firmware do klawiatury bez żadnej styczności z jego kodem. To tu przypiszemy funkcje danemu klawiszowi, jak i stworzymy warstwy i makra. Definiujemy też tutaj bardzo ważną rzecz – siatkę klawiatury, czyli sposób w jaki połączymy klawisze w kolumny i wiersze, a następnie podłączymy je do pinów kontrolera.

Jest też czwarta strona, Kalerator która na podstawie layoutu z KLE generuje nam pliki do Eagle z naniesionymi na nie klawiszami. Mocno ułatwia to tworzenie PCB, gdyż ręczne rozmieszczenie elementów zgodnie z zakładanym układem jest piekielnie trudne i męczące.

I praktyka.

KBPC-E do tego projektu zakupiłem już rok temu. Pierwszą akcja po zakupie było przymierzenie czy rozmiar klawisza pokrywa się z rozmiarem w klawiaturach mechanicznych (klawiatury zgodne z przełącznikami ALPS lub Cherry mają standardowy rozmiar „jednostki”, czego nie można powiedzieć o gumiakach). Na szczęście się zgodziło. Tym samym po zdemontowaniu górnej części obudowy (w której zamontowane są klawisze) wraz z foliami i kontrolerem, otrzymałem gotowy mechanizm będący podstawą klawiatury ergonomicznej.


KBPC-E i klawisze Cherry. Uff, pasuje…

Na ten moment miałem już wyklikany układ klawiatury w KLE, więc przekleiłem go do generatora płyty bazowej, a następnie pliki CAD wysłałem do firmy zajmującej się cięciem wodą. Koszt takiej zabawy w moim wypadku wyniósł kilkadziesiąt złotych za materiał (2mm „kwasówka”) i cięcie.

Problem w tym, że robiąc klawiaturę ergonomiczną potrzebowałem dwie pasujące do siebie połówki a nie jedną dużą… Nie mając jednak doświadczenia w CAD ani dobrego punktu odniesienia do zwymiarowania elementów postanowiłem ten problem załatwić Dremelem. I tak, dwie godziny i 13 tarcz szlifierskich później posiadałem dwie połówki pasujące zarówno do siebie jak i obudowy.


Przygotowana ręcznie siatka połączeń przełączników.

W międzyczasie dotarł do mnie kontroler, więc w Firmware Builderze przygotowałem siatkę klawiszy i układ. Siatka może wydawać się dziwna, jednak starałem się zminimalizować ilość potrzebnych kabli do podłączenia lewej połówki. QMK pozwala na wiele ciekawych rzeczy, dlatego klawisz FN (pomiędzy prawym Alt i Ctrl) przy pojedynczym naciśnięciu zachowuje się jak przycisk menu, natomiast w formie kombinacji klawiszy (FN + F1-F12) wywołuje funkcje przycisków, jak i brakujący blok PrintScreen / ScrollLock / Pause.

Mając tak przygotowane firmware pozostało wgrać je do kontrolera, a następnie zabrać się za lutowanie klawiatury. Celowo w tej kolejności, dzięki temu po zlutowaniu części klawiszy mogłem przetestować poprawność połączeń i powiązań.


Polutowane przełączniki, jeszcze bez wyprowadzeń w kierunku kontrolera.

Na koniec na płytce uniwersalnej przygotowałem złącze do wpięcia Teensy i dwa złącza do których wpinane są obie połówki klawiatury. Samo mocowanie płytki do obudowy to klej na gorąco. Tak wiem – wstyd używać termogluta, ale w tym momencie wiedziałem, że górna część oryginalnej obudowy od klawiatury jest nie do dopasowania i to będzie finalna forma moich wypocin.

Celowo pominąłem w opisie elementy takie jak dopasowywanie kołków, wiercenie i malowanie. Cały tekst powstał na tej klawiaturze, a jakże! Kompletny build log wraz z komentarzem (po angielsku) znajdziecie w mojej galerii imgur: https://imgur.com/a/x9wEF.

Komentarze

Autor: Kajetan Krykwiński
Utworzono: 28 października 2017
Kategorie: Blogi - Kajetan 'kitor' Krykwiński
Tagi: , , , ,

Twitter

Facebook

Sonda

Z jakiego systemu operacyjnego korzystasz?

View Results

Podeślij newsa!
Jeśli widziałeś ciekawe urządzenie lub temat i chciałbyś abyśmy omówili to na łamach PDAsite.pl, skorzystaj z formularza poniżej.

Imię i nazwisko / ksywka* (pojawi się w newsie, jeśli zostanie wykorzystany)

Adres email

Treść wiadomości*

Przepisz kod z obrazka:*
captcha