Contact
← 별자리로

실험

조용한 타건

Silent Keystrokes

침묵이 말보다 많이 말합니다.

에세이

타자 사이 간격이 곧 호흡. 같은 문장이라도 치는 박자가 다르면 다른 문장이 된다.

구현

  • keystroke마다 이전 키와의 performance.now() 차이를 gap으로 기록
  • 네 박자 분기:
    • whisper ≤120ms — 흐린 blur 페이드 인
    • steady ≤500ms — 짧은 Y 상승
    • weighted ≤2000ms — 큰 낙차 + 스케일 바운스 (cubic-bezier(0.34,1.25,0.6,1))
    • anchored > 2000ms — 깊은 blur(2px) + Y -16px
  • 각 글자에 font-variation-settings: "wght" 380~720 가변 폰트 축 조작
  • 한글 IME 안전: input 이벤트 + inputType === "insertText" + native.data 길이로 조합 확정된 글자 배치 (여러 자모가 한 번에 오면 첫 글자만 정상 gap, 나머지는 40ms whisper)

모바일 대응

  • iOS Safari는 opacity: 0 + left: -9999px hidden input을 focus 거절 → opacity: 0.01 + left: 0 + font-size: 16px + pointer-events: auto + z-index: -1로 교체
  • autoFocus는 coarse pointer에서 금지 — "글 쓰기 시작" 버튼으로 사용자 제스처 focus
  • scrollIntoView({ block: "center" })로 모바일 키보드 올라올 때 display 영역 유지
  • compositionstart/end로 한글 조합 완료 시점 캡처

검색...

검색...