Rasmus Lindroth

En blogg om Linux & teknik

Mina tangentbord

Jag är inte ensam om att ha trillat ner i tangentbordsträsket. Det började när jag köpte mig min nuvarande stationära dator för lite mer än tre år sedan och bestämde jag mig för att jag skulle ha ett mekaniskt tangentbord också. Tangentbordet var ett CM Storm QuickFire XT med MX Blue-switchar. Det var ett tangentbord jag var nöjd att skriva på. Att gå till ett mekanskt var ett riktigt steg upp i skrivkänsla. Då höll jag på med mina studier också, så det blev mycket skrivande.

Anledningen till att jag ville testa ett nytt tangentbord var på grund av numpaden, för den gjorde att det inte gick att ha tangentbordet helt centrerat på skrivbordet. Hade jag det blev det på bekostnad av att musen inte fick något utrymme.

Då köpte jag mig ett Pok3r-tangentbord istället och såg fram emot att det även gick att programmera tangenterna på det. Jag tyckte om storleken på tangentbordet, men blev beskviken på programmeringsmöjligheterna eftersom att de var begränsade. Det gick inte att flytta om knappar hur jag ville och allmänt bökigt att genomföra själva programmeringen.

Sen hörde jag från Tobias i Kodsnacks podcast om Ergodox Ez och QMK för första gången och det lät spännande. Prislappen för ett Ergodox kändes dock lite väl saftig, speciellt när jag inte visste om vad jag skulle tycka om tangentbordet. Därför satte jag mig och googlade lite istället om det gick att flasha mitt Pok3r-tangentbord, men efter att ha läst om att risken att det slutade fungera kändes det inte heller som en bra idé.

Istället hittade jag att det gick att köpa ett nytt kontrollkort till mitt första tangentbord för under 300 kr. Kontrollkortet hade även det häftiga namnet The Ghost Squid. Nu riskerade jag längre inte att förstöra något tangentbord, utan det värsta som kunde hända var att jag hade kastat 300 kr i sjön.

Jag blev riktigt imponerad av QMK, för nu var det faktiskt bara fantasin som satte begränsningar. Det blev dock lite problem med tangentbordet, för det slutade att fungera ibland, men det gick att dra ur och stoppa i sladden igen för att få det att fungera så jag körde på med det. Jag var fortfarande irriterad på numpaden så jag började fundera mer och mer på att köpa mig ett Ergodox Ez. Då fick jag ett tangentbord färdigt med QMK samtidgt som jag slapp försöka bygga ett eget, för jag har aldrig lött någonting i mitt liv så det steget kändes för stort. Att jag inte skulle trivas med ett splittat tangentbord var ingenting som oroade mig. Jag skriver med hjälp av touch typing, så det var bara spännande.

Efter att ha haft mitt Ergodox Ez sedan maj har jag varit nöjd hela tiden. Jag tycker om att ha ett delat tangentbord och har inga planer alls på att byta ut det. Det känns som att jag har hittat det tangentbord som jag kommer att trivas med.

Ändå har jag precis fått ett nytt tangentbord i julklapp av min flickvän. Den här gången blev det en Planck Ez och även denna gång har jag Tobias i kodsnack att beskylla lite. Anledningen till att jag ville ha ett mindre tangentbord var för att jag även skulle dra nytta av QMK:s magi på jobbet. Att ha ett till Ergodox-tangentbord skulle vara det optimala om det inte vore så att jag rör mig ganska mycket på jobbet. Då kändes det smidigare med ett mindre tangentbord som faktiskt går att ta med sig. Just nu använder jag tangentbordet lite hemma för att vänja mig och det fungerar bra. Jag kör ungefär samma layout på båda mina tangentbord, så inlärningskurvan är relativt låg. Det blir dock några nya tangentbordskombinationer jag kan dra nytta av, för på jobbet är det Windows som gäller, så där behöver jag forsatt fundera på hur jag ska placera mina tangenter. Nu är det jullov, så det är ett senare problem.

Hur jag har mina tangentbord i QMK

Avslutningsvis tänkte jag visa upp hur mina tangentbord ser ut i dagsläget på ett ungefär. Det blir bara layouten för mitt Planck, för det tog sån tid att lägga in allt grafiskt. Layouten är dock nästan identisk på mitt Ergodox, så hade nog inte varit särskilt intressant ändå.

Base

Base layer

Här är mitt grundlager. Lite förklaring till symbolerna.

  • Står det LT och en pil betyder det att man skiftar till lager X när knappen är nere. Annars skickas tangenten som står ovanför. Exempelvis Esc (LT -> 6)
  • Tittar vi på Z så står det Left Ctrl under. Då skickas Z om man klickar på tangenten och den fungerar som Ctrl nedtryckt.

Lagrerna som hör ihop med respektive siffra är:

  • 0 -> Lower
  • 1 -> det här lagret
  • 2 -> Raise
  • 3 -> Adjust (kommer dit om både LT 0 & 1 är nedtryckta)
  • 4 -> Mouse
  • 5 -> Win toggle
  • 6 -> TXT
  • 7 -> Num
  • 8 -> FN
  • 9 -> Win
  • 10 -> i3

Lower

Lower layer

Här har jag så gott som alla tecken. Ett litet tips här är att det går att fixa så att tilde-tangenten (~) inte är en död knapp. Det normala på svenska tangentbord är att det krävs två knapptryckningar för att tilde ska visas eftersom man ska kunna skriva ñ exempelvis. Det har jag inte så stor nytta av, utan jag vill ha tecknet på direkten eftersom det bland annat används för att representera hemkatalogen i Linux. Koden nedanför skickar tilde-knappen följt av ett mellanslag vilket gör att man får ~ på direkten. Ska ta och göra likadant med ` också nu när jag tänker på det.

enum custom_keycodes {
    PLACEHOLDER = SAFE_RANGE,
    R_TILDE,
};


/* Använd R_TILDE som tangenten i din keymap */

bool process_record_user(uint16_t keycode, keyrecord_t *record) {                                                                                                                                                     
    switch (keycode) {
        case R_TILDE:
            if (record->event.pressed) {
                SEND_STRING(SS_RALT("]") " ");
            }
            break;
    }
    return true;
}

Det som är lite jobbigt med funktionen SEND_STRING i koden ovanför är att man måste skriva knappen man vill ska sändas som den amerikanska motsvarigheten. Så mitt tips är att ändra inmatningsspråket på tangentbordet till amerikanskt och skriva in det man vill att tangentbordet ska skriva, då blir det rätt.

Raise

Raise layer

Här har jag lite kombinationer som ersätter Ctrl-tangenten, piltangenterna samt Home och End som i terminalen.

Adjust

Adjust layer

Det här lagret fanns redan med på tangentbordet och jag har inte tagit bort det. Bara Reset-knappen som används här.

Mouse

Mouse layer

Istället för att använda en vanlig mus används det här lagret 9/10 gånger.

Num

Num layer

En numpad eftersom det inte finns plats för någon sifferrad på tangentbordet.

TXT

TXT layer

Det här lagret används för att navigera i text, så slipper jag hålla in Ctrl och ta mig till Raise-lagret. Då är det här smidigare.

Win toggle

Win toggle layer

Ett speciallager för att byta ut knappen till i3-lagret mot en till peka mot Windows-lagret istället.

Win

Win layer

Knappar för att underlätta i Windows, så som att navigera mellan de virtuella skrivborden, Ctrl-Alt-Del och fokusera på adressfältet i webbläsaren. Här kommer det nog att läggas till mer, men det får bli när jag är tillbaka på jobbet igen och anvnänder Windows.

i3

i3 layer

De här knapparna är för att navigera mellan skrivborden i i3 eftersom sifferraden saknas på tangentbordet kändes det här som en smidigare lösning.

FN

fn layer

Ett bra att ha-lager. Det är inte ofta jag använder FN-tangenterna, men ibland kan det behövas så det är bra att det finns där.