← 블로그 목록으로

2026-05-04

맥북 IMU의 두 얼굴 — Seismo와 Knocker

Apple Silicon 맥북에 내장된 MEMS 가속도계 하나로 지진계를 띄우고, 팜레스트 두드림을 단축키로 매핑했다.

makermacossensors

맥북 안의 가속도계

Apple Silicon 맥북에는 떨어뜨림 감지를 위한 MEMS IMU가 내장되어 있다. macOS는 이 센서를 외부에 공개하지 않지만, IOService 레벨에서 키 코드를 알면 raw 값을 읽을 수 있다.

이걸 알게 된 뒤로 같은 센서를 두 가지 다른 방식으로 활용한 앱을 만들었다.

Seismo — 지진계

첫 번째는 단순한 시각화였다. 가속도 값을 그대로 시간축 그래프로 띄우면 작은 진동도 명확히 보인다. 옆에서 누가 책상을 치면 그래프가 튄다.

예상 못 한 사용 사례: 한 사용자가 "옆 방 진동만 봐도 옆집 사람이 들어왔는지 알 수 있다"고 알려줬다. 작은 데모가 라이프 로깅 도구가 된 셈이다.

Knocker — 두드림으로 단축키 실행

같은 센서를 시그널 프로세싱 관점으로 다시 봤다. 톡톡 두드리는 패턴은 시간축에서 짧은 임펄스가 반복되는 형태로 나타난다. 두드림 횟수와 간격을 인식하면 "두 번 톡톡" "세 번 톡톡" 같은 입력을 구분할 수 있다.

각 패턴에 단축키를 매핑한다. 두 번 톡톡 → Mission Control, 세 번 톡톡 → 잠금. 키보드 조합을 외울 필요가 없다.

코드 포인트

핵심은 임펄스 인식이다. 노이즈와 진짜 두드림을 구분하려면:

1. 가속도 절댓값의 변화율 계산 2. 임계값 초과 시 임펄스 후보로 마킹 3. 200ms 이내 연속 임펄스를 "패턴"으로 묶음 4. 패턴 길이에 따라 단축키 분기

동일 센서, 다른 도구

Seismo와 Knocker는 같은 데이터를 받는다. 차이는 그 데이터를 해석하는 방식이다. 시각화로 보면 지진계, 시그널로 보면 입력 장치.

메이커 작업의 본질이 여기 있다. 새 센서를 사는 게 아니라, 이미 가진 센서를 다르게 해석하는 일.