Popularny post deshipu Napisano Wrzesień 27, 2020 Popularny post Udostępnij Napisano Wrzesień 27, 2020 To będzie zbiór kilku projektów, które zrobiłem przez ostatnie kilka lat, związanych z klawiaturami. Zorientowałem się, że nie pisałem o tym tutaj jeszcze nigdy (poza krótką wzmianką w "nad czym teraz pracujesz"), a temat jest bardzo głęboki i potencjalnie ciekawy dla wszystkich użytkowników komputerów, szczególnie gdy spędzają przy nich dużo czasu. Z góry ostrzegam o dwóch sprawach: po pierwsze, klawiatury mechaniczne (a tylko takie moim zdaniem jest sens samemu budować) są dość drogą zabawą, ze względu na wysoki koszt mechanicznych przełączników no i ich dość dużą liczbę w takim projekcie. Owszem, w minimalnych klawiaturach możemy się obyć 40-klawiszami, ale i tak wychodzi to drogo. Na pewno nie ma co liczyć na zrobienie klawiatury taniej niż sklepowa, chyba, że przerabiamy klawiaturę znalezioną na złomowisku (co tak naprawdę jest doskonałym pomysłem, bo drzewiej klawiatury były znacznie wyższej jakości niż dziś). Po drugie, osobiście skupiać się będę na klawiaturach do pracy, czyli do pisania dużych ilości tekstu. Nie interesują mnie klawiatury zaprojektowane do jak najszybszego wykonywania combosów albo oddawania jak największej liczby strzałów, czy też najskuteczniejszego oślepiania użytkownika migającymi animacjami we wszystkich kolorach tęczy. To są osobne nisze, które nieco się pokrywają, ale mają odmienne wymagania niż moje. No więc zacznijmy może od najbardziej oczywistego pytania: po co robić własną klawiaturę, skoro te ze sklepu będą tańsze, w ładnej obudowie i od razu działające. Normalnie w takim przypadku odpowiedź brzmi "żeby się nauczyć i wiedzieć jak działa", ale akurat w tym przypadku mamy znacznie lepsze powody: ergonomia, wybór i jakość. Zacznijmy od ergonomii. Każdy, kto czytał o alternatywnych układach klawiatury, takich jak Dvorak czy Colemak, na pewno wie, że tradycyjny układ QWERTY nie został jakoś specjalnie zaprojektowany dla optymalności. Krążą nawet legendy, jakoby niektóre klawisze zostały poprzestawiane specjalnie, żeby maszynistki spowolnić, bo w przeciwnym razie mechanizm maszyny nie nadążał i zacinał się. Legendy te są nieprawdziwe. Owszem, poprzestawiano klawisze, ale nie w celu spowolnienia, tylko w celu oddalenia od siebie młoteczków tych liter, które często występują obok siebie, żeby właśnie zmniejszyć szansę zacięcia. Ale nie miało to na celu spowolnienia piszących i nie da się takiego efektu zauważyć. Drugą legendą jest większa "prędkość" pisania na nowych, zoptymalizowanych układach — niestety ten efekt jest zauważalny wyłącznie w badaniach przeprowadzonych przez proponentów tych układów i jak dotychczas nie udało się go powtórzyć w niezależnych badaniach. Zatem standardowy układ klawiatury jest jednak optymalny? Niekoniecznie, szczególnie gdy będzie nam wolno zrobić więcej niż tylko pozamieniać klawisze miejscami. Klawiatura w tej formie, którą znamy, powstała niemalże 150 lat temu, gdy ustandaryzowały się maszyny do pisania i od tamtego czasu prawie się nie zmieniła, poza dodaniem kilku klawiszy tu i ówdzie, no i oczywiście zmianach w technice produkcji. Na pewno zauważyliście, na przykład, że klawisze nie są ustawione w równych kolumnach, tylko w każdym rzędzie przesunięte są o ¼ albo ½ szerokości. Dlaczego tak? Bo w maszynach do pisania klawisze zamontowane były na metalowych dźwigniach i trzeba było na te dźwignie mieć miejsce. Inna rzecz, że nie wszystkie klawisze są tej samej wielkości. Oczywiście częściowo związanie jest to ze wspomnianym już ich poprzesuwaniem, żeby całość jednak mieściła się w prostokącie, ale częściowo związanie jest to z tym, że taka maszyna do pisania jest w zasadzie napędzana siłą ludzkich mięśni, i o ile taki zwykły młoteczek z literką da się poruszyć jednym palcem (choć kto próbował kiedyś mechanicznej maszyny ten wie, że żeby się dobrze odbiło, a jeszcze w kilku kopiach przez kalkę, to nieraz trzeba nieźle w taki klawisz przyłożyć), o tyle klawisz "shift" na przykład podnosi praktycznie cały mechanizm do góry, a do tego trzeba go przytrzymać — łatwiej to zrobić gdy klawisz jest większy. Podobnie inne "specjalne" klawisze są zazwyczaj traktowane specjalnie, do tego stopnia, że "enter" oryginalnie nawet nie był klawiszem, tylko dźwignią umieszczoną przy wałku. Wszystkie te kompletnie nieistotne dziś detale zachowały się w tradycyjnym układzie i utrudniają nam życie. Budując własną klawiaturę możemy je zignorować i zaprojektować ją od początku dobrze. Drugi powód to wybór. Oczywiście można dzisiaj znaleźć w sklepach szeroki wybór klawiatur w różnych kolorach, z touchpadem, z migającymi światełkami, bezprzewodowych, do tabletów, z kucykami, etc. Ale nawet jeśli sięgniemy po te z wyższej półki, to nie mamy za bardzo wyboru w kwestiach, które się liczą dla wygody pracy. Klawiatury niskoprofilowe wyglądają jak skopiowane z kalkulatorków, klawiatury mechaniczne są tak wysokie, że można dostać lęku wysokości patrząc między klawisze, producenci często wykazują się fantazją przestawiając niektóre klawisze albo zastępując klawisze funkcyjne klawiszami do zmiany głośności albo uruchamiania kalkulatorka. Pewien producent urządzeń domowych udających komputery nawet stwierdził, że klawisz Esc w zasadzie nikomu do niczego nie jest potrzebny (lata wcześniej usunęli klawisze Ins i Del i też było dobrze). Zatem w praktyce wybór rozsądnych klawiatur do pracy jest zatrważająco mały. Nie pomaga przy tym fakt, że producenci wprowadzając nowe udziwnione produkty lubią usuwać z oferty te dobre i sprawdzone, więc jeśli zepsuje się wam dobra klawiatura, której używaliście przez lata, to zapomnijcie o kupieniu takiej samej. No i wreszcie jakość. Trochę to dziwne, że coś, co możemy zbudować domowym sumptem będzie mieć wyższą jakość niż zaprojektowane przez profesjonalistów i wyprodukowane w fabrykach towary, ale tak jest — głównie dlatego, że większość ludzi kupując komputer nie myśli o jakości klawiatury, tylko o tym, żeby jakaś była, i być może, jeśli to do gier, to żeby migała. Istnieje kilka firm specjalizujących się w rzeczywiście dobrych klawiaturach, ale ponieważ nie sprzedają ich dużo, a celują głównie w profesjonalistów, to ich ceny są naprawdę wygórowane. Jeśli chcemy coś dobrej jakości, ale tańsze od używanego samochodu, to pozostaje nam polować na klawiatury gamerowe, którym przypadkiem trafiły się akurat lepsze części. Wymaga to cierpliwości i dobrego oka. No albo uda się nam zdobyć "starą" klawiaturę, która okaże się dla nas skarbem. Alpen Clack Moja przygoda z klawiaturami rozpoczęła się właśnie od takiego przypadku — dostałem "ze złomu" starą klawiaturę, która przeleżała u mnie kilka lat, aż któregoś dnia postanowiłem przerobić ją na klawiaturę USB (oryginalnie była oczywiście PS/2, i to ze starą, dużą wtyczką DIN). Słyszałem co prawda o rozwiązaniach polegających na zrobieniu adaptera, a stwierdziłem, że będę ambitny i wymienię w niej całą elektronikę. W tym samym czasie zaczęły też pojawiać się klawiatury bez numpada (tak zwane "tenkeyless") i spodobał mi się pomysł zostawienia więcej miejsca na myszkę, szczególnie, że komputera nauczyłem się używać na klonie IBM XT, który nie miał osobnych strzałek, więc NumLock musiał być zawsze wyłączony by był dostęp do strzałek, więc nigdy nie nauczyłem się używać numpada. Z usuniętych klawiszy postanowiłem zrobić brakujące klawisze "super". Klawiatura przed operacją wyglądała tak: Wtedy o tym nie widziałem, ale okazało się, że trafił mi się nie mała rarytas: klawiatura z mechanicznymi przełącznikami firmy ALPS. Dzisiaj takie są bardzo poszukiwane. Ale nie wiedząc o tym z zadowoleniem zabrałem się za jej masakrowanie. Trzeba było ją rozmontować, wylutować wszystkie przełączniki, umyć klawisze no i obciąć ten nieszczęsny numpad: Oraz wyciąć dziury na dodatkowe klawisze: Następnie powtykałem wszystkie przełączniki na miejsca, przylutowałem do nich wylutowane z płytki klawiatury diody, i połączyłem wszystko mniej więcej w matrycę, podłączając do nóżek płytki prototypowej Pro Micro. Niestety nóżek nie starczyło, więc musiałem też wylutować z Pro Micro jedną z diod świecących i użyć jej jako dodatkowej nóżki. Tutaj wypada się zatrzymać na chwilkę, żeby wyjaśnić po co te diody i jakim cudem da się podłączyć niemalże 100 przełączników do mikrokontrolera, który ma tylko jakieś 20 nóżek. Odpowiedzią jest wspomniana wcześniej matryca. Przełączników nie podłączamy tak jak się to zazwyczaj robi, pomiędzy nóżkę a masę, tylko pomiędzy dwie nóżki. A dokładniej, pomiędzy nóżki podłączone do kolumn, a nóżki podłączone do rzędów. No i teraz ustawiamy masę tylko na jednym z rzędów (lub kolumn), pozostałe zostawiając w trybie wejścia, a na kolumnach (lub rzędach, odpowiednio) ustawiamy rezystory podciągające i odczytujemy wartości. W ten sposób sczytamy stan klawiszy z jednego rzędu (lub kolumny) i operację powtarzamy dla innego. Robimy to bardzo szybko, więc opóźnienie jest niezauważalne dla człowieka. Ale po co te diody? No bo niestety może się zdarzyć, że wciśnięte zostaną dwa (lub więcej) klawisze, wówczas rząd na którym ustawiliśmy masę będzie połączony przez przełącznik jednego z tych klawiszy z kolumną, a ta z kolei będzie połączona z innym rzędem przez przełącznik innego wciśniętego klawisza — w rezultacie masę będziemy mieć na dwóch (lub więcej) rzędach jednocześnie i nie będziemy mieć sposobu na zgadnięcie które dokładnie klawisze są wciśnięte. Tanie klawiatury radzą sobie z tym prosto: po prostu uznają, że wciśnięte są wszystkie, przez co uzyskujemy zaskakujący wynik: tak zwany "ghosting". My chcemy porządną klawiaturę, więc na każdym przełączniku jest dioda zapobiegająca połączeniu rzędów. Dalej poszło już z górki: użyłem gotowego oprogramowania z projektu TMK (https://github.com/tmk/tmk_keyboard), więc jedyne, co trzeba było napisać, to dwie funkcje: jedna do ustawiania odpowiedniego rzędu i jedna do sczytywania jego stanu. Skopiowałem i przerobiłem po prostu przykłady. Do tego definicją który klawisz ma wysyłać jaki kod (lub modyfikator) i gotowe. Na koniec dołożyłem ładny kabel USB w otulinie z plecionki i dorobiłem obudowę z arkuszy tworzywa sztucznego: Troszkę ta obudowa wyszła niechlujnie, ale klawiatura działa i jest nawet wygodna — byłem z projektu zadowolony. Tylko pojawił się jeden mały problem: pracując nad tym projektem odkryłem bardzo dużo narzędzi i informacji o robieniu klawiatur. W tym między innymi oprogramowanie do projektowania własnych układów klawiszy i do generowania z nich plików do wycięcia laserem własnej obudowy. Znalazłem też gdzie można kupić mechaniczne przełączniki i same klawisze okazyjnie, postanowiłem więc zbudować kolejną klawiaturę od zera. Alpen Clack 2 Stanąłem przed kilkoma ważnymi wyborami. Po pierwsze, chciałem standardowy układ amerykański (ANSI), ale bez numpada (tenkeyless). Użyłem zatem jednego z presetów na http://www.keyboard-layout-editor.com/ i usunąłem numpad. Przy okazji przesunąłem nieco też klawisze funkcyjne i zrobiłem tam miejsce na dodatkowy klawisz. Następnie skopiowałem json-a z definicją klawiatury i wkleiłem do http://builder.swillkb.com/ aby wygenerować pliki do wycięcia laserem. Lokalny FabLab wyciął mi je bez problemu. Wybór przełączników miałem ograniczony budżetem, ale zdecydowałem się na brązowe Gaterony. Czemu brązowe i czym się one różnią od niebieskich albo czerwonych? Albo innych jeszcze kolorów? Długo by tłumaczyć, ale w dużym skrócie różne "kolory" przełączników mają różnie ustawione mechaniczne elementy tak, aby dawać odpowiednie wrażenie przy ich wciskaniu. Niebieskie przełączniki to te najbardziej znane z klawiatur mechanicznych, wydają przy wciśnięciu charakterystyczne głośnie kliknięcie, które odczuwane jest też w bardzo satysfakcjonujący sposób dotykiem. Czerwone przełączniki natomiast nazywane są "liniowymi" bo nie wydają odgłosu ani nie mają żadnego dotykowego powiadomienia o tym, że się włączyły. Przełączniki brązowe są pewnym kompromisem — wyczuć można w nich przełączenie, ale nie hałasują tak głośno, jak niebieskie. Nie mając doświadczenia postanowiłem pójść na ten kompromis. Klawisze wybrałem z tego co akurat było w danym momencie dostępne za rozsądne pieniądze i w ładnym kolorze. Nie widziałem wtedy jeszcze nic o profilach, różnych wysokościach klawiszy i różnych sposobach ich wykonania. Oprócz tego kupić trzeba było też tak zwane "stabilizatory", czyli kawałki drutu i plastikowe uchwyty do nich, które montuje się pod wszystkimi dłuższymi klawiszami po to, aby wciskały się zawsze całe naraz, bez względu na to w którym miejscu je naciśniemy. Jako mózgu użyłem tym razem płytki Pololu A-Star 32U4 Mini ULV — bo ma ten sam mikrokontroler ATmega32u4 co Pro Micro, ale z wyprowadzonymi wszystkimi nóżkami. Spodobała mi się tez biała płytka PCB, która w tamtych czasach była jeszcze rzadkością, Diody musiałem kupić tym razem własne, podszedłem też nieco bardziej profesjonalnie do połączeń: Przezroczysta obudowa w końcu trochę zobowiązuje. Oprogramowanie w zasadzie jest takie samo, musiałem tylko zmodyfikować definicje który klawisz jest który. Gotowa klawiatura wygląda tak: Niestety, pomimo faktu, że jest to dobra klawiatura, jakoś nie nauczyłem się jej używać. Znacznie później uświadomiłem sobie dlaczego, kiedy wypróbowałem kilka innych mechanicznych klawiatur: standardowe mechaniczne klawiatury, z pełnowymiarowymi przełącznikami są dla mnie za wysokie. Zazwyczaj rozwiązuje się ten problem stosując podkładki pod nadgarstki, ale dla mnie to nigdy nie działało, tym bardziej, że droga klawisza jest dla mnie zbyt wielka, nawet po dodaniu do nich "uszczelek" aby ją zmniejszyć. Wciskając klawisz mam wrażenie, że za chwilę wpadnę do środka klawiatury. Kiedy sobie to uświadomiłem, dałem sobie spokój z klawiaturami mechanicznymi ma ładnych kilka lat. 5plit Któregoś dnia dowiedziałem się, że w moim mieście odbywa się spotkanie miłośników klawiatur. Postanowiłem na nie pójść nie tyle z miłości do klawiatur, co z chęci pochwalenia się moimi dwoma projektami. Okazało się, że spotkanie było bardzo ciekawe i dowiedziałem się na nim o wielu rzeczach, między innymi o planowanych przez firmę Kailh przełącznikach o niskim profilu, zwanych "czekoladowymi" (choc switches). Sprawdzałem od tego czasu stronę tej firmy regularnie, niestety najmniejsze zamówienie jakie można było zrobić to 800 sztuk, więc pozostawały poza moim zasięgiem. Zastanawiałem się czy nie złożyć się może w kilka osób, ale jakoś nigdy z tego nic nie wyszło i o sprawie zapomniałem. Rok później spotkanie odbyło się ponownie i tym razem pojechałem bardziej żeby pooglądać ciekawe klawiatury i dowiedzieć się nowinek. No i dowiedziałem się, że Kailh sprzedaje swoje przełączniki na sztuki na Aliexpressie, razem z pasującymi klawiszami, a do tego kupiłem od jednego z uczestników płytki do dwuczęściowej klawiatury jego projektu używającej tych przełączników: Klawiatura nazywa się 5plit is jest minimalistyczna, ale jak tylko jej spróbowałem, to wiedziałem, że to są przełączniki, na które czekałem całe życie. Po zmontowaniu jej własnej wersji i zabawie z różnymi układami klawiszy odkryłem też uroki minimalistycznych klawiatur z "warstwami" — czyli różnymi funkcjami poszczególnych klawiszy przełączanymi za pomocą dodatkowego klawisza. Niestety na tym etapie nie potrafiłem jeszcze pisać poprawie wszystkimi palcami, głównie używając trzech palców u każdej ręki i czasem wciskając klawisze z lewej strony klawiatury prawą ręką, więc taka dwuczęściowa klawiatura nie była dla mnie łatwa w użyciu. Starałem się na niej ćwiczyć, ale do codziennego korzystania z komputera preferowałem jednak klawiaturę kupną (udało mi się w końcu znaleźć kupną klawiaturę używającą tych samych przełączników i jest to najlepsza kupna klawiatura jaką kiedykolwiek miałem, choć nadal jest dość wysoka). Flounder Na tym etapie postanowiłem, że skoro w sklepach nie ma takich płaskich klawiatur jak ja bym chciał, to sam sobie taką zrobię. Postanowiłem, że posunę się tak daleko jak to tylko możliwe używając nawet niższych przełączników niż te w 5plit — wpuszczanych w płytkę drukowaną. Chciałem też, żeby klawiatura miała tradycyjny układ, ale była minimalistyczna, więc tym razem zdecydowałem się na układ 65%. Zamówiłem na Aliekspresie przełączniki i zestaw klawiszy i zabrałem się do projektowania płytki. Tak naprawdę to ten projekt stał się możliwy tylko dlatego, że mniej więcej w tym czasie płytki drukowane większe niż 10x10cm stały się dostępne cenowo dla hobbysty, choć nadal była to inwestycja. Zaprojektowanie płytki wymagało trochę pracy, bo trzeba było zrobić wycięcia na każdy klawisz, a następnie poprowadzić ścieżki pomiędzy nimi. Udało mi się to z tylko dwoma małymi błędami, które poprawiłem drucikami. Pożegnałem się także z wysłużoną Atmegą32u4 i użyłem SAMD21, który stał się na tym etapie moim ulubionym mikrokontrolerem. Dodanie do CircuitPythona obsługi USB pozwoliło mi napisać kod kontrolujący klawiaturę w tym języku, co też było miłą odmianą. Z fizycznych problemów najgorsze okazały się stabilizatory. Kailh oferuje specjalne stabilizatory dla tych klawiszy, ale montowane są one po drugiej stronie PCB, co w moim przypadku jest niedopuszczalne, bo płytka ma leżeć płasko na stole. W ostateczności zbudowałem własne stabilizatory ze spinaczy do papieru: Generalnie rzecz biorąc projekt okazał się przełomowy, bo nauczyłem się na nim bardzo dużo. Niestety, ostateczny jego wynik, czyli sama klawiatura, okazała się nieużywalna z trzech powodów. Po pierwsze, postanowiłem ją zrobić tak małą jak się da, więc popełniłem kardynalny błąd eksperymentując z odstępami klawiszy i zamiast użyć standardowego 1U (czyli 0.75" albo 19.05mm) upchnąłem je tak gęsto, jak na to pozwoliła wielkość klawiszy. Okazuje się, że to źle współpracuje z ludzką pamięcią mięśniową i po prostu nie trafiam w klawisze. Po drugie, przełączniki wpuszczane w płytkę okazują się być znacznie gorszej jakości niż zwykłe choc switches i po prostu nie są tak przyjemne. Po trzecie, nie udało mi się zrobić tak, żeby płytka była całkowicie płaska z tyłu, a przy tej wielkości niestety lekko się ona wygina. Można zatem powiedzieć, że operacja się udała, ale pacjent zmarł. Klawiatura jest i wygląda i działa dobrze, ale nie da się jej używać. Dorsch 40k i 48k Minął rok. Spotkanie klawiaturowe nie odbyło się z powodu plagi, ale naszła mnie ochota ponownego eksperymentowania z klawiaturami. Zniechęcony flądrą postanowiłem jednak ograniczyć ryzyko i zrobić małą klawiaturę — mając mniejszą płytkę i mało przełączników będzie tańsza. Pogodziłem się już z używaniem kupnej klawiatury na co dzień i to miał być bardziej eksperyment. Chciałem mianowicie zobaczyć jak wygodna będzie klawiatura z zaledwie 40-ma klawiszami, ale używająca niektórych klawiszy w podwójnych rolach. Pomysł był taki, żeby na przykład przy naciśnięciu i puszczeniu klawisza wysyłać Esc, ale przy przytrzymaniu i naciśnięciu jednocześnie innego klawisza traktować to jak Ctrl... Klawiaturę nazwałem Dorsch kontynuując nazewnictwo płasko-rybne. Zacząłem oczywiście od zaprojektowania układu klawiszy. Zmienił się on potem kilka razy w miarę jak używałem klawiatury, więc zamieszczę tutaj wersję ostateczną: Dolne legendy mówią jak klawisz działa gdy się go przytrzyma, górne co gdy się go wciśnie normalnie, a te po prawej co jak z klawiszem Fn. Zamówiłem 40 przełączników i zestaw klawiszy, zaprojektowałem i zamówiłem płytkę — ponownie użyłem SAMD21. Wszystko przyszło po dwóch tygodniach, więc zmontowałem i zacząłem testować: Pierwsze zdziwienie: tego się nawet da używać! Ręce trochę uciekają do backspace-a w złym miejscu i do esc, ale po jednym dniu udało się pokonać odruchy. Drugie zdziwienie — ja piszę poprawnie wszystkimi palcami! Jak to, przecież nigdy się tego nie mogłem nauczyć! Czyżby fakt, że klawisze są w prostych kolumnach i nie ma gdzie przesuwać rąk to spowodował? Po używaniu tej klawiatury jako głównej przez tydzień stwierdziłem, że jest bliska ideału, ale jednak to jeszcze nie to. W międzyczasie ktoś na Twitterze zauważył, że taka klawiatura, ale z efektami świetlnymi programowalnymi w CircuitPythonie byłaby fajna. Zaprojektowałem i zamówiłem zatem jeszcze dwie płytki (i jeszcze jeden zestaw przełączników): Pierwsza to to samo, tylko z LED-ami RGB pod każdym klawiszem. W zasadzie nuda, tylko strasznie ciężko było polutować APA102 w opakowaniach QFN, dużo poprawiania zanim wszystkie zaświeciły. Biblioteki do animacji Adafruit ma gotowe, więc nawet mi się po zmontowaniu nie chciało tego programować. Jest ten sam kod co na oryginalnej klawiaturze, z której zresztą przełożyłem przełączniki. Druga natomiast to jest to, na czym piszę ten artykuł. Z ilości tekstu możecie się zapewne domyślić, że bardzo mi pasuje. Dwie dodatkowe kolumny pozwoliły umieścić backspace, tab, enter i esc na ich prawowitych miejscach, a drugi klawisz przełączający warstwy zapewnia dużo wygodniejszy dostęp do symboli. Stabilizator pod spacją sobie odpuściłem, choć może kiedyś zrobię jakiś ze spinacza znowu i przylutuję go na górze płytki tym razem, ale klawisz jest na tyle mały, że nie jest to konieczne. Turbot Pomyślelibyście, że po tym wszystkim będę wreszcie zaspokojony klawiaturowo. Ale okazuje się, że sukces zachęca do dalszego działania i eksperymentów. Nie chcąc chwilowo wydawać więcej pieniędzy na kolejne przełączniki postanowiłem, że skoro flądra nie działa jak należy, to szkoda trochę żeby tak leżała — wylutuję z niej te nieszczęsne przełączniki i spróbuję zbudować coś ciekawszego. Usiadłem do tego na poważnie, konsultując się na klawiaturowych forach z ludźmi z doświadczeniem i popełniłem taki projekt: Tym razem mamy do czynienia z klawiaturą w pełni ergonomiczną, złamaną na środku, ale nadal z 65% klawiszy, bez warstw (no, chyba, że do F1-F12). Klawisze w kolumnach, kolumny poprzesuwane zgodnie z długością i zasięgiem palców. Zrobiłem do tego płytkę: Tym razem od razu zakładam stabilizatory ze spinaczy, ale na górze płytki, więc dół ma być płaski. Odstępy między klawiszami takie jak mają być. Płytka powinna przyjść za tydzień, to napiszę co wyszło... 14 2
Gieneq Wrzesień 28, 2020 Udostępnij Wrzesień 28, 2020 @deshipu jakbym czytał własne przemyślenia na temat klawiatur DIY. Narazie robię 3 klawiaturę i podobnie jak z "Turbotem" płytka będzie za tydzień. Moim celem jest nie pełnowymiarowa klawiatura tylko klawiatura skrótów klawiszowych, z możliwością przełączania zestawów skrótów tak by mieć różne w różnych aplikacjach. No i układ klawiszy raczej nie powinien być jednolity, tylko jakiś bardziej sugestywny... ale jak to zrobić dla sprzętu mimo wszystko uniwersalnego? No właśnie... Ta ostatnia zapowiada się ciekawie, ale pytanko jakiej jest to wielkości i drogi jest taki interes? Zamawiałem ostatnio płytkę do swojej 140x120mm i zależnie gdzie się wyliczało cenę to rozrzut był spory - różnica nawet 30$. 2
deshipu Wrzesień 28, 2020 Autor tematu Udostępnij Wrzesień 28, 2020 Turbot ma płytkę o wymiarach 381x120.4mm i kosztowała mnie ona w JLC jakieś $20, co jest jeszcze do przełknięcia, biorąc pod uwagę fakt, że same przełączniki wychodzą 4x drożej. Co do klawiatury z makrami, to właśnie tak pewnie skończy Dorsch 40k — tym bardziej, że kolorowe LEDy doskonale się nadają do pokazywania trybów. Tylko na razie mam jakiś uraz do tego projektu po męczeniu się nad nim tyle z lutowaniem, więc nie chce mi się go zaprogramować. 1
Gieneq Wrzesień 28, 2020 Udostępnij Wrzesień 28, 2020 (edytowany) To faktycznie cena nie jest tragiczna. Myślałem nad LEDami ale chodzi po głowie coś innego. Można na Ali kupić OLEDy wielkości 0,5" z I2C. Jakby zrobić nieco większe przyciski ale z grafikami. Wtedy przy zmianie trybu zmieniałby się od razu układ grafik na przyciskach. A, myślałeś może jak podejść do mocowania klawiszy na tych przełącznikach? Zamówiłem trochę Cherry MX z takim krzyżykiem i nie wiem właśnie jak się do tego zabrać. Narazie chodzi mi po głowie druk 3D, albo zrobić z drewna... wyciąć na laserze, tylko żeby nie latało. Bo te w firmówkach naprawdę ciasno się trzymają. Edytowano Wrzesień 28, 2020 przez Gieneq 1
deshipu Wrzesień 28, 2020 Autor tematu Udostępnij Wrzesień 28, 2020 (edytowany) Klawisze to jest generalnie cały temat-rzeka. Ja trochę uniknąłem zagłębiania się w to, bo do tych czekoladowych przełączników które mam pasują tylko specjalne klawisze sprzedawane przez tego samego producenta. Tak więc wybór mam w zasadzie pomiędzy takimi sobie płaskimi klawiszami z napisami, albo przezroczystymi klawiszami z dużo ładniejszym profilem. Ostatnio Kailh zrobił wersję czekoladowych przełączników ze standardowym mocowaniem klawisza — zamówiłem do testów, zobaczymy jak to będzie działać, ale nie mam dużych nadziei, bo standardowe klawisze są zazwyczaj fizycznie dużo wyższe, więc i tak nie będzie to taki low-profile jak mam teraz. Natomiast jeśli idziesz w standardowe przełączniki MX, to ten krzyżyk jest standardem i wybór jest gigantyczny. Praktycznie cały czas też pojawiają się groupbuy-e i massdropy ze specjalnymi projektami: ciekawe kolory, dziwne napisy, różne profile i wysokości, co się komu zamarzy. Z ekranami w klawiszach może być ciężko, bo nie tylko trzeba to jakoś w środku zamocować, ale też przenieść siłę nacisku. Nie chcesz naciskać szkła wyświetlacza bezpośrednio. Najlepsze oczywiście byłyby przezroczyste klawisze ze slotem do wsunięcia wyświetlacza, ale tego nie wydrukujesz. A myślałeś może o czymś na kształt tego co mają w samolotach albo bankomatach? Duży wyświetlacz na środku i klawisze dookoła niego, z legendami do klawiszy wyświetlanymi na wyświetlaczu? Edytowano Wrzesień 28, 2020 przez deshipu 1 1
Gieneq Wrzesień 28, 2020 Udostępnij Wrzesień 28, 2020 Oo to ciekawe. Nie wiedziałem że to jakiś standard Z ekranami wyobrażałem sobie (nie twierdzę, że to da się zrealizować), że zrobię przycisk gdzie pod warstwą przezroczystej plexy będzie podłożony wyświetlacz i to będzie na przełączniku np wspomnianym Cherry MX. Obawiam się tylko że będzie to wysokie. Inny pomysł to mała matryca z LED SMD. Dwustronna płytka na każdy przycisk, z wierzchu LEDy, od tyłu jakiś Attin czy coś do sterowania matrycą i komunikacja 1-wire. 3 przewody na każdy przycisk. Tylko pytanie, czy to się nie wyrwie od używania i czy nie utrudni klikania... chyba bez testu się nie obędzie. Za to kiedyś się zabiorę, ale najpierw dokończę to co zacząłem
Gieneq Wrzesień 28, 2020 Udostępnij Wrzesień 28, 2020 (edytowany) Nie sądziłem, że producent przygotuję stronę, a tym bardzie zakładkę "dla deweloperów" z dokumentacją przycisków. I jakie ładne animacje tam mają: Edytowano Wrzesień 28, 2020 przez Gieneq 2
Treker (Damian Szymański) Wrzesień 29, 2020 Udostępnij Wrzesień 29, 2020 16 godzin temu, Gieneq napisał: Nie sądziłem, że producent przygotuję stronę, a tym bardzie zakładkę "dla deweloperów" z dokumentacją przycisków. I jakie ładne animacje tam mają: Szok, faktycznie fajne Przynajmniej nie trzeba "rozkręcać", aby zobaczyć co jest w środku. @deshipu jak zawsze ciekawy opis, fajnie się czyta! 1
KHX Wrzesień 29, 2020 Udostępnij Wrzesień 29, 2020 Bardzo ciekawy projekt. Szacun za rozpisanie się. Mam jakąś starą klawę, o ile nie poszła na elektro śmieci to coś przy niej podziałam. 1
Popularny post deshipu Październik 1, 2020 Autor tematu Popularny post Udostępnij Październik 1, 2020 No więc płytka do Turbota przyszła i wygląda dobrze: Trafiła mi się bardziej pomarańczowa soldermaska, co mi się podoba. Przy żółtych płytkach to zawsze trochę loteria jest. W każdym razie zacząłem od elektroniki, żeby w razie czego było łatwiej poprawiać drucikami: Po wgraniu CircuitPythona i sprawdzeniu, że wszystko działa, wlutowałem przełączniki i wstawiłem klawisze i gotowe. Brakuje czterech klawiszy, bo ta klawiatura ma ich więcej niż poprzednia, a dodatkowe jeszcze nie doszły, co nie powinno być przeszkodą w przetestowaniu jak taki układ działa. Nie robiłem już stabilizatorów, bo po zaprogramowaniu klawiatury i testach okazało się, że ma jeden poważny feler. Obawiam się, że te przełączniki są przeklęte. Ogólnie rzecz biorąc, układ jest dobry. Do wszystkich klawiszy sięga się z minimalnym ruchem ręki, nie ma żadnych problemów z nie trafianiem. Gdybym miał coś poprawić, to zbliżył bym klawisze trochę poziomo — zacząłem od standardowych odstępów 0.75" i pochyliłem kolumny, co je nieco zwiększyło w niektórych miejscach. Gdybym je trochę zbliżył, niektóre by były dalej a inne bliżej, ale średnio byłyby bliżej standardu. W każdym razie jest to drobiazg, układ klawiatury działa. Co nie działa, to przełączniki. Tak jak ze zwykłymi choc switches nigdy nie miałem problemu, tak te są straszne. Mają dwa główne problemy: po pierwsze, naciśnięcie klawisza choć trochę nie na środku powoduje, że się haczą. Wrażenie jest jak przy tanich membranowych klawiaturach. Po drugie, i to jest bardziej istotne, kliknięcie jest bardzo mocno oddalone od kontaktu. O co mi chodzi? Otóż tego typu przełączniki mają w środku dwa osobne mechanizmy: Po lewej stronie jest tak zwany "click bar", czyli mechanizm służący do generowania tego satysfakcjonującego kliknięcia (albo tylko zmiany oporu, w zależności od rodzaju klawisza). Po prawej mamy właściwe styki. W nocie katalogowej naszego przełącznika możemy znaleźć następujący wykres pokazujący zależność wymaganej siły nacisku od drogi klawisza: Zaznaczone mamy tam trzy istotne punkty: "pressure point" to moment, w którym słyszymy kliknięcie, "operating point" to kiedy styki się zwierają, a "reset point" to kiedy się rozwierają. Niestety albo ja dostałem wybrakowane egzemplarze, albo je jakimś cudem zepsułem, bo w moich przełącznikach "operating point" znajduje się na samym końcu drogi klawisza, przy maksymalnym jego wciśnięciu. W praktyce oznacza to, że piszemy sobie z zadowoleniem na klawiaturze, słyszymy kliknięcia, a pojawia się jedna literka na dziesięć. Niezwykle irytujące. Nie wiem czy mogę coś na to poradzić, chyba wypada się pogodzić z faktem, że pieniądze na te przełączniki wydane są wyrzucone w błoto i dalsze inwestowanie w ten projekt nie ma sensu. Ktoś na forum klawiaturowym zasugerował, że mógłbym z przełączników pousuwać te mechanizmy klikające, miałbym wtedy liniową klawiaturę, ale boję się, że nadal dość mocno trzeba by wciskać klawisze. Na razie projekt odkładam na półkę i zajmę się mniejszą ergonomiczną klawiaturą z innymi przełącznikami, o której napiszę osobno. 5
deshipu Październik 1, 2020 Autor tematu Udostępnij Październik 1, 2020 Właśnie odkryłem jeszcze jednego babola w tym projekcie i, prawdę mówiąc jestem nieco zakłopotany. Nie wydają się wam te klawisze trochę małe na tle reszty tej klawiatury? Nie wydaje się wam, że pochylenie kolumny klawiszy o 10° nie powinno tak bardzo zwiększyć ich odstępów? No więc nie powinno. Okazuje się, że nowa wersja Inkscape, którego to programu używam do zaprojektowania obwiedni płytki, zmieniła DPI jakie zakłada przy przeliczaniu jednostek pomiędzy pikselami a milimetrami. W efekcie, po zaimportowaniu płytki do Fritzinga, który zakłada stare DPI, płytka była jakieś 10% większa. Zatem mam jedyną na świecie unikalną klawiaturę dla Rachmaninowa. Oczywiście ten wspomniany projekt nowej klawiatury też miał ten problem, więc musiałem zrobić go praktycznie od nowa. Pamiętajcie, nigdy nie ufajcie programom z wymiarami.
MKJB Październik 3, 2020 Udostępnij Październik 3, 2020 Jak szybko ręka, oko, ucho uczą się nowej klawiatury? Dlaczego w Turbocie jest wachlarz i prostokąt (w sensie - dlaczego nie jest tylko układ wachlarzowy, łukowy)? Podobny problem (dylemat) występuje we wszelkich klawiaturach w instrumentach muzycznych. I co do zasady są one skrajnie nieergonomiczne. No bo właśnie są prostoliniowe a zakres ruchu dłoni jest po łukach (osiami są nadgarstki + łokcie, a palce i dłoń zawsze dążą do kuli - dlatego gdy dłoń zwisa prosto lub leży na płaskim palce 3 i 4 są zawsze ze sobą, 2 i 5 odstają...). Ale taki Pan Chopin poradził sobie z tym problemem... Mianowicie są też klawisze czarne, i są piętro wyżej. I dlatego puszczał sprytnie nurt po wielu poziomach (dostosowując tonację) co skutkuje tym, że dane numery są stosunkowo łatwe, wygodne do grania. Co ciekawe, w zapisie nutowym wyglądają katastroficznie... U Bacha, Beethovena jest dokładnie na odwrót... 1
deshipu Październik 3, 2020 Autor tematu Udostępnij Październik 3, 2020 7 godzin temu, MKJB napisał: Jak szybko ręka, oko, ucho uczą się nowej klawiatury? To jest dosyć indywidualne i mocno zależy od tego, co się zmieniło. Takie rzeczy jak przesunięcie klawiszy o pół szerokości, powiększenie/pomniejszenie klawiszy, czy dodanie konieczności przytrzymania dodatkowego klawisza są stosunkowo bezproblemowe i można je sobie "wbić w palce" w ciągu nawet pół godziny. Pozamienianie klawiszy miejscami tak, jak w Dvoraku czy Colemaku, to jest kilka dni. Najgorsze dla mnie jest przestawienie jednego klawisza. Na przykład w tej 40-klawiszowej klawiaturce backspace jest koło spacji, a ja nadal za każdym razem naciskam P. Problemem też dla mnie jest oduczenie się starych złych nawyków, jak naciskanie "prawych" klawiszy lewą ręką itd. Generalnie łatwiej zaadaptować nawyk do nowej sytuacji niż się go oduczyć. 8 godzin temu, MKJB napisał: Dlaczego w Turbocie jest wachlarz i prostokąt (w sensie - dlaczego nie jest tylko układ wachlarzowy, łukowy)? Filozofia Turbota jest prosta: klawisze dla każdego palca mają inny kąt. Zatem tam, gdzie klawisze naciskamy różnymi palcami, mamy wachlarz, a tam gdzie wszystko (w teorii) spada na ten nieszczęsny mały palec, mamy prostokąt. To też pokazuje trochę jak złe są tradycyjne układy klawiatury. Najsilniejsze palce jakie mamy, czyli kciuki, nie robią praktycznie nic, a mały paluszek musi robić za nie. Ergonomia instrumentów muzycznych to jest duży i bardzo ciekawy temat. Z jednej strony owszem, mamy silny wpływ tradycji i tego jak ten instrument jest zbudowany, z drugiej jednak mamy całe pokolenia rzemieślników i artystów doskonalących projekty i wprowadzających drobne poprawki, jeśli tylko dają one im jakąkolwiek przewagę. Zwróć uwagę, że nie wszystko co jest ergonomiczne musi być zaraz łatwe do nauczenia. Wracając do klawiatur, piszesz, że fortepianowa jest niewygodna, bo ustawiona w rzędzie. Ale profesjonaliści zapisujący zeznania w sądach używają stenotypów, z klawiszami podobnymi do fortepianowych, a nie do klawiatur komputerowych — właśnie dlatego, że są wygodniejsze. Na takim stenotypie da się pisać nawet 500 słów na minutę, co przy klawiaturze komputerowej wywołałoby chyba samozapłon. 1
Popularny post ethanak Październik 3, 2020 Popularny post Udostępnij Październik 3, 2020 26 minut temu, deshipu napisał: To jest dosyć indywidualne i mocno zależy od tego, co się zmieniło. I od przyzwyczajeń. Ja np. jako pianista opanowałem klawiaturę chromatyczną w akordeonie (tzw. "guzikówka") w ciągu paru godzin (tzn. nie to że zagrałem jak jaki wiertołaz, ale wiedziałem gdzie jest jaka nuta i palce już się same układały). Natomiast do dziś nie potrafię zagrać na zwykłym akordeonie (inny rozmiar klawiszy). 4
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »