En god metode for å aktivere «home row mods» på en Mac
(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.
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å trykkF
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
.)
- (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
- Output: «af» (klikk)
- Input: Trykk ned
A
, og så trykkF
førA
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:
- Via firmware i eksterne tastaturer (gjennom ting som QMK og ZMK).
- 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.
- 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).
- 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.
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:
3) Tilpass grenseverdiene
Forhåndsinnstillinga for to_if_hold_down_treshold er 500 ms - som er veldig lenge. Du tilpasser den slik:
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 så 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:
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.