피드로 돌아가기
사라지는 폴란드어 Ś의 기묘한 사례 (2015)
GeekNewsGeekNews
Frontend

사라지는 폴란드어 Ś의 기묘한 사례 (2015)

OS 수준의 Right Alt 매핑 충돌로 인한 특정 언어 입력 버그 해결

neo2026년 6월 30일6intermediate

Context

Medium 웹 편집기가 브라우저 기본 저장 동작을 막기 위해 Ctrl+S 이벤트를 가로채는 구조 설계. Windows OS가 Right Alt 입력을 내부적으로 Ctrl+Alt 조합으로 매핑하는 특성으로 인해 폴란드어 특수 문자 Ś 입력이 저장 단축키로 오인되는 병목 발생.

Technical Solution

  • Windows의 Right Alt → Ctrl+Alt 매핑 메커니즘에 따른 이벤트 전파 분석
  • existing logic의 e.ctrlKey 단일 판별 방식이 Alt 키 조합을 구분하지 못하는 허점 식별
  • !e.altKey 조건을 추가하여 Alt 키가 함께 눌린 경우 Ctrl+S 차단 로직을 우회하도록 수정
  • (e.metaKey || (e.ctrlKey && !e.altKey)) 논리 구조를 통해 Mac과 Windows 환경의 입력 독립성 확보
  • OS 레이어의 레거시 매핑과 애플리케이션 레이어의 이벤트 핸들링 간 간섭 제거

1. 단축키 가로채기 구현 시 `preventDefault()` 호출 전 모든 수식 키(Modifier Keys)의 조합 상태를 정밀하게 검증했는가?

2. OS별 키 매핑 차이(예: Windows Right Alt, Mac Command)가 입력 필드에 영향을 주지 않는가?

3. 특정 국가의 키보드 레이아웃(Programmer's Layout 등)에서 발생 가능한 예외 케이스를 테스트 시나리오에 포함했는가?

원문 읽기