Link to English version

(Dersom du allerede kjenner til konseptet, kan du klikke her for å hoppe rett til min raske metode for å aktivere dem på en Mac - selv på det interne laptop-tastaturet!)

Som en del av min ergonomi-reise, har jeg jobba med å få aktivert home row mods 1 på tastaturene mine. Denne strålende guiden gir masse informasjon - men dette er kortversjonen:

For å ikke måtte anstrenge henda like mye når du bruker modifikatorer (som shift og kontrol), kan du overføre denne jobben til bokstavene på hjemme-raden. Når du klikker dem, er de bokstaver, mens når du holder dem inne, er de modifikatorer.

Tastene A, S, D og F, med modifikator-ikoner på seg.

The home row letters on the right side is usually used as well, mirrored from the left. Image from the guide.

Bilde av splitt-tastaturet ZSA Voyager.

Mange som bruker dette, kvitter seg dermed med de vanlige modifikator-tastene. Men det kan være nyttig å gjøre dette selv om det «bare» fører til at du bruker de vanlige tastene mindre.

Klikking vs holding

Men hva vil det si å klikke en tast, og hva vil det si å holde inne en tast? Dét er det sentrale spørsmålet her…

La oss si at vi har gjort slik at A -tasten blir Shift når den holdes inne.

Dersom jeg har bestemt at jeg må holde tasten i 500 ms før den regnes som å holdes inne, må jeg vente 0,5 sekunder hver gang jeg vil skrive en stor bokstav. Det kan jo være litt irriterende!

Åkei, så kanskje jeg heller sette grensa på 70 ms. Da går det veldig raskt å skrive store bokstaver! Men, det viser seg at når jeg skriver ordet «affekt» 2, så holder trykker jeg F -tasten litt før jeg slipper A -tasten. Siden grensa nå er så lav, så ender jeg opp med å skrive «Ffekt» (med stor F) i stedet!

Finne balansegangen

En grenseverdi på 200 ms er et ganske vanlig utgangspunkt - og da funker det slik:

  • Input: Trykk ned (bare) A, og slipp den _før 200 ms.
    • Output: «a» (klikk)
  • Input: Trykk ned (bare) A, og slipp den etter 200 ms.
    • Output: shift-klikk (holdt inne)
  • Input: Trykk ned A, og så trykk F før 200 ms (selv om du fortsetter å holde inne A).
    • Output: «af» (klikk)
      • (Men hvis du fortsatte å holde F-tasten, vil bare A skrives, og så vil det gå over i F-holding, som i mitt tilfelle vil bli Command.)
  • Input: Trykk ned A, og så trykk F før A slippes, og etter 200 ms.
    • Output: «F» (Holdt inne - og shift-modifikatoren er aktiv så lenge du holder den inne, så du kan skrive flere store bokstaver, etc.)

Høyere grenseverdi:

  • Du må vente litt for at modifikatorene funker.
    • Dette kan oppleves litt langsomt og irriterende, og du kan ende opp med ting som å skrive «fa» når du egentlig ville gjøre «Command + A».
  • Men denne typen feil er ofte mindre irriterende enn motsatt - å aktivere hurtigtaster når du vil skrive.

Lavere grenseverdi:

  • Mindre venting gjør at det føles mer som å bruke vanlige modifikator-taster.
  • Men dette fører også til flere feilaktiveringer - særlig hvis du skriver raskt og/eller holder inne tastene litt lenge mens du skriver. (Det siste kalles taste-rullinger, og er visst noe jeg gjør en del.)
    • Du vil få færre feilaktiveringer dersom du lærer der å skrive med korte klik,
    • eller du har et tastatur med dypere taster.

Guiden jeg lenka til i starten, anbefaler å starte med ganske høy grenseverdi, og så justere den ned etterhvert som du blir vant til konseptet. Ikke gi opp de ergonomiske fordelene med hjemmeradsmodifiksjoner selv om det ikke føles optimalt i starten! Det er også mulig å ha ulike grenseverdier for hver knapp - men jeg tror det kan være lettere å få det inn i muskelminne dersom de fleste er like.

Hvordan aktivere

Det er to hovedmetoder for å få til dette:

  1. Via firmware i eksterne tastaturer (gjennom ting som QMK og ZMK).
  2. Via software som kjører på operativsystemet (gjennom ting som KMonad og Karabiner-Elements).

Det er noen faktorer som må vurderes, når man velger metode:

  • Med firmware får du tilgang på noen litt mer avanserte funksjoner, som Permissive Hold og Retro Tapping,
    • og du kan også binde taster til å justere grenseverdiene underveis.
    • Jeg tror også denne metoden gir større fleksibilitet når du veksler mellom én eller flere ulike modifikatorer.
  • Hvis funksjonene ligger i tastaturets firmware, får du de med deg dersom du tar tastaturet til en annen maskin.
    • Men en fordel med å gjøre det i software, er at det funker dersom du bruker et annet tastatur til maskina (for eksempel det interne laptop-tastaturet).
      • Det er også raskere og enklere å installere gjennom sotware.
  • Jeg synes det føltes veldig hakkete og ekkelt med home row mods gjennom QMK - men det kan være det var pga. oppsettet mitt. Og jeg vet andre ikke hadde noe imot samme oppsettet - men jeg foretrekker sterkt skrivefølelsen når jeg bruker software.

Skjermbilde av QMK-programvaren.

Jeg har ikke så mye imot å mekke med QMK-filer - men det er jo mye mindre komplisert med Karabiner-Elements-handlinger.

Bilde av tastaturet, numpaden og styreflata mi.

Ting jeg ikke kan justere i software, ting jeg ikke trenger å ha på det interne tastaturet, og numpaden, justerer jeg fortsatt i QMK.

Karabiner-Elements

Dersom du vil activere home row mods gjennom KMonad eller QMK, kan du følge guiden jeg lenka til i starten av innlegget. Men jeg klarte ikke å få KMonad til å funke på Macen min, og jeg fant ingen guider til hvordan jeg kunne få det til med Karabiner-Elements da jeg søkte. Så jeg håper denne guiden kan være noe andre i min situasjon finner seinere!

Jeg lagde handlingene med det strålende Karabiner.ts -verktøyet.

1) Installer Karabiner-Elements

Du kan laste ned appen fra nettsida deres, eller hvis du har Homebrew installert, kan bdu bare skrive brew install karabiner-elements i terminalen.

Du må gi appen masser av tillatelser, da!

2) Legg til actionene

Jeg har en GitHub-repo med litt ulike varianter av home row mods (og et par andre handlinger) . Selve handlingene er lange .json-filer, som du kan legge til i Karabiner-Element slik:

Trykk på «Complex Modifications», så «Add your own rule». Så kopierer og limer du inn alt fra .json-fila, og trykker «Save».

3) Tilpass grenseverdiene

Forhåndsinnstillinga for to_if_hold_down_treshold er 500 ms - som er veldig lenge. Du tilpasser den slik:

Jeg har gått inn på «Parameters», og justert to_if_held_down.

Dersom du ønsker å bruke flere modifikatorer samtidig (for eksempel Shift + Option ), så holder du inne to knapper samtidig. Grenseverdiensimultaneous_threshold_milliseconds er hvor tett inntil hverandre du må trykke for at det skal regnes som samtidig.

Hvis du har holdt A for å aktivere Shift, og så ønsker å aktivere Shift + Command, så må du slippe A og trykke A og F samtidig. Dette er en begrensning jeg ikke har funnet noen vei utenom foreløpig.

4) Test og juster

Du vil ikke digge det med én gang! Så prøv å justere grenseverdiene, samtidig som du vurderer å justere hvordan du skriver litt. For, det vil alltid være noen trade-offs.

Når du tester, kan det være lurt å bruke noe som Keycastr eller Karabiner-Elements EventViewer, som du finner her:

Trykk på Karabiner-Elements i menylinja, og så “Launch EventViewer”.

På det bildet kan du også se at du kan ha ulike profiler i Karabiner-Elements. Dette kan være nyttig dersom du ønsker ulike grenseverdier på ulike tastatur. Her er eksempel på profiler du kan ha:

  • Laptop
  • Eksternt tastatur
  • Gaming (for å game med home row mods er A Bad Time™️)

Forhåpentligvis finner noen som søker på «home row mods karabiner-elements» dette, og synes det er nyttig! Lykke til.


  1. Hjemmerads-modifikasjoner↩︎

  2. Særlig når jeg skriver det i affekt. ↩︎