소개
Kanata GUI는 Linux, macOS, Windows에서 동작하는 크로스플랫폼 소프트웨어 키보드 리매퍼입니다. jtroo가 개발한 이 프로젝트는 Rust로 작성되었으며, Shift 키처럼 임의의 키에 '레이어' 개념을 적용해 키보드 입력을 자유롭게 재구성할 수 있도록 돕습니다. 표준 키보드나 노트북 키보드에서도 QMK 수준의 커스터마이징을 누릴 수 있도록 하는 것이 목표입니다.
상세정보
레이어 기반 키 매핑
여러 레이어를 정의해 키의 동작을 맥락에 따라 바꿀 수 있습니다. Shift 키가 대문자/소문자를 전환하는 방식을 일반 키에도 적용하는 개념입니다.
고급 키 동작
tap-hold, 유니코드 출력, 동적 및 정적 매크로 등 고급 키 동작을 지원합니다. Vim 스타일의 leader 시퀀스를 통해 특정 동작을 트리거할 수도 있습니다.
설정 파일 실시간 리로드
설정 파일을 수정한 뒤 다시 시작하지 않아도 변경 사항이 즉시 반영되어 빠른 테스트가 가능합니다. 사람이 읽기 쉬운 형식의 설정 파일을 사용합니다.
TCP 서버 연동
선택적으로 TCP 서버를 실행해 다른 프로그램이 레이어 변경에 반응하거나 레이어를 트리거하도록 할 수 있습니다.
Interception 드라이버 지원 (Windows)
Windows에서는 Interception 드라이버를 사용하는 변형(`kanata_wintercept.exe`)을 통해 더 낮은 수준의 키 인터셉션을 지원합니다.
Windows
- 릴리스 페이지에서 CPU에 맞는 `kanata-windows-variant.zip`을 다운로드합니다.
- 원하는 변형 바이너리를 적절한 위치에 풀어 옮기고, 필요 시 `kanata.kbd`도 같은 폴더에 둡니다.
- `.exe` 파일을 더블 클릭해 시작하며, Kanata는 백그라운드 프로세스로 동작하지 않으므로 시작 창을 열어 두어야 합니다.
- 다른 설정 파일을 사용하려면 cmd 또는 PowerShell에서 `kanata_windows_binaryvariant.exe –cfg ` 형태로 실행합니다.
Interception 드라이버 변형을 사용할 때는 `.zip`을 풀고 관리자 권한 셸에서 `command line installer/install-interception.exe`를 실행한 뒤 재부팅이 필요합니다. `Interceptionlibraryx64interception.dll`을 Kanata 실행 폴더에 복사해 두면 dll 로드 문제를 줄일 수 있습니다.
Linux
- `kanata-linux-x64.zip`을 다운로드해 압축을 풀고, 원하는 위치에 바이너리를 옮깁니다.
- 터미널에서 바이너리를 실행하며 설정 파일을 지정합니다. `chmod +x kanata`로 실행 권한을 부여하고, `sudo ./kanata_linux_x64 –cfg ` 형태로 실행합니다.
macOS
- macOS 11 이상에서는 Karabiner 드라이버 v6.2.0을 사용해야 합니다.
- macOS 10 이하에서는 Karabiner 커널 확장을 설치합니다.
- 릴리스에서 CPU(x64 또는 arm64)에 맞는 `kanata-macos-variant.zip`을 받아 바이너리를 실행합니다.
- 예: `chmod +x kanata_macos_arm64 && sudo ./kanata_macos_arm64 –cfg `
활용 예시
오른쪽 키보드 영역의 `u i o / j k l / m , .` 위치를 그대로 활용해 한 레이어에서는 방향키를, 다른 레이어에서는 넘패드를 배치하는 식으로 홈로우 위치를 유지하면서 키를 추가할 수 있습니다. 이러한 매핑은 반복 작업 시 손의 움직임을 줄여 쾌적성을 높이는 데 활용됩니다.
제한 및 확인 사항
- Kanata는 백그라운드 프로세스로 실행되지 않으므로, 시작한 콘솔 창을 열어 두어야 합니다.
- macOS에서는 마우스를 입력 장치로 사용할 수 없으며 mbck/mfwd 마우스 버튼 액션이 동작하지 않습니다.
- Interception 드라이버에는 키보드와 마우스를 시스템 재부팅 시까지 비활성화하는 알려진 이슈가 있습니다.
시스템 요구사항
## 요구 사항
Kanata는 최신 Rust stable 툴체인을 사용해 빌어드릴 수 있으며, cargo install 또는 cargo build로 컴파일합니다. 실행 환경은 운영체제에 따라 다음과 같습니다.
- **Windows**: Interception 드라이버를 사용하는 변형(binary)은 별도의 드라이버 설치가 필요합니다.
- **Linux**: `/dev/` 디바이스 파일에 접근해야 하므로 `sudo` 권한이 필요합니다.
- **macOS**: Karabiner 드라이버가 필요하며, 이 릴리스는 v6.2.0 버전을 지원합니다.
macOS에서는 인터셉션 기반 마우스 입력이 지원되지 않으며, mbck/mfwd 마우스 버튼 액션도 동작하지 않습니다.


