청풍 입력기 (WindInput)
요약
청풍 입력기(WindInput)는 가볍고 빠르며 커스터마이징 가능한 오픈소스 중국어 입력기입니다. Rust로 구현되어 자원 점유율이 낮고, 병음 및 코드표 등 다양한 입력 방식을 지원합니다. Windows, macOS, Linux를 아우르는 크로스 플랫폼을 제공하며 솔루션 기반의 유연한 설정을 특징으로 합니다.
핵심 포인트
- Rust 기반으로 가볍고 빠른 구동 속도를 자랑함
- 병음, 코드표 등 다양한 중국어 입력 방식을 지원
- Windows, macOS, Linux를 아우르는 크로스 플랫폼 제공
- 솔루션 파일 기반의 유연한 커스터마이징 가능
특징
- 병음(五笔) 및 코드표 입력 방식에 최적화 — 병필 86, 병필 병음 혼합 입력 모두 지원하며, 전각(全拼)과 쌍병음(双拼)도 제공합니다.
- 솔루션 기반 (方案驱动) — 솔루션 파일을 통해 입력 동작을 유연하게 정의할 수 있습니다.
- 그래픽 설정 — 관련 설정 도구를 사용하여 시각적으로 조정하고, 수정 사항은 즉시 적용됩니다.
- 라이트/다크 테마 — 라이트 모드와 다크 모드를 모두 지원하며, 시스템에 따라 자동으로 전환됩니다.
- 가벼운 구동 (轻量运行) — Rust로 구현되어 자원 점유율이 낮고 시작 속도가 빠릅니다.
- 크로스 플랫폼 (跨平台) — 동일한 핵심 엔진을 사용하여 Windows 10/11, macOS 12+ 및 Linux(Fcitx5, 프리뷰 버전)를 지원합니다.
설치
해당 플랫폼에 맞는 설치 파일을 windinput.com/download에서 다운로드하세요.
- Windows 10/11 (64비트) — 설치 버전 또는 포터블 버전을 사용하며, 설치 후
Win + Space를 눌러 청풍 입력기로 전환합니다. - macOS 12 이상 —
.pkg범용 설치 패키지(Apple Silicon / Intel)를 사용합니다. 설치 후 「시스템 설정 → 키보드 → 텍스트 입력 → 편집」에서 청풍 입력기를 추가하고, 입력기 메뉴에서 전환합니다. - Linux (프리뷰 버전) —
.deb설치 패키지(amd64 / arm64, Ubuntu 22.04+ 및 Debian 계열 배포판)를 사용하며, Fcitx5 입력기 엔진 형태로 작동합니다.sudo apt install ./WindInput-*.deb로 설치한 후 「Fcitx5 설정」에서 청풍 입력기를 입력기 목록에 추가합니다. 시스템 입력기 프레임워크는 반드시 Fcitx5여야 하며, KDE Plasma 등 데스크톱 환경의 추가 설정 및 알려진 제한 사항은 wind_linux/README.md를 참조하세요.
Windows 버전의 프로그램 파일과 설치 패키지는 디지털 서명되었습니다. SmartScreen은 다운로드 누적 신뢰도가 필요하므로, 새 버전 출시 초기에 여전히 차단될 수 있습니다. 이때는 안내에 따라 「추가 정보 → 그래도 실행」을 눌러 계속 진행하면 됩니다. macOS 버전은 아직 Apple 서명 및 공증 절차를 거치지 않았으므로, Gatekeeper에 의해 차단되면 「시스템 설정 → 개인정보 보호 및 보안」에서 허용해 주세요.
문서
전체 사용 설명서, 설정 참고 자료 및 자주 묻는 질문은 다음 문서 사이트에서 확인하실 수 있습니다: windinput.com/docs
저장소 범위
본 저장소에는 청풍 입력기의 핵심 부분이 포함되어 있습니다:
| 구성 요소 | 기술 | 역할 |
|---|---|---|
wind_input | Rust | 핵심 서비스: 입력 엔진, 단어장, 후보 관리, UI 렌더링, IPC (크로스 플랫폼) |
| ... |
릴리스 버전의 설치 패키지에는 다음 보조 프로젝트들이 필요하며, 이들은 각각 독립적인 저장소에서 유지됩니다:
| 저장소 | 기술 | 역할 | 오픈 소스 상태 |
|---|---|---|---|
| wind-installer | Rust | Windows 설치 프로그램 및 제거 프로그램 (명세서 기반 범용 패커) | 공개됨 |
| ... |
이 중 wind-installer와 wind-portable은 Windows 전용입니다. macOS의 .pkg 설치 패키지는 본 저장소의 scripts/mac/dev.sh pkg에서 직접 패키징하며, Linux의 .deb는 scripts/linux/package-deb.sh에서 패키징하므로 추가 저장소가 필요 없습니다.
이러한 보조 프로젝트들은 모두 선택 사항입니다. 본 저장소와 같은 레벨 디렉토리에 배치하여 빌드 스크립트를 실행하면 함께 빌드되며, 누락된 경우 자동으로 건너뜁니다. 핵심 입력기 자체는 독립적으로 빌드하고 실행할 수 있습니다. 완성된 제품은 다운로드 페이지에서 받으세요.
wind-installer와 wind-portable은 crates.io에 게시된 windui GUI 라이브러리를 사용하므로, 로컬에서 wind-ui-rust를 체크아웃할 필요가 없습니다. 오직 wind-setting만이 경로 의존성(path dependency)을 가집니다 (windui = { path = "../wind-ui-rust" }). 따라서 이를 빌드할 때만 wind-ui-rust도 같은 레벨 디렉토리에 함께 두어야 합니다.
소스 코드에서 빌드하기
- Windows: Rust stable + Visual Studio 2022 (C++ 데스크톱 개발) + CMake,
.\scripts\dev.ps1실행 - macOS: Rust stable + Xcode (Swift 5.9+) ,
scripts/mac/dev.sh실행 - Linux (Windows 산출물 크로스 컴파일):
scripts/dev.sh - Linux (Fcitx5 프론트엔드, 프리뷰 버전): 빌드, 설치 및 알려진 제한 사항은 wind_linux/README.md를 참조하세요.
빌드 스크립트는 서드파티 단어장 데이터를 자동으로 다운로드하고 전체 데이터 디렉토리를 생성합니다. 자세한 내용은 기여 가이드라인을 참고하세요.
기여하기
코드 기여, 버그 보고 또는 제안 환영합니다! 기여 가이드라인을 읽어주세요.
최초 PR 제출 시에는 기여자 라이선스 협약 (CLA)에 서명해야 합니다.
감사의 말씀
청풍 입력기는 설계 및 구현 과정에서 많은 훌륭한 오픈 소스 입력기 프로젝트들을 참고했습니다. 이들의 아이디어, 문서, 그리고 소스 코드는 본 프로젝트에 중요한 지침을 제공했으며, 이에 깊이 감사드립니다:
- RIME 중주운 입력기 엔진 (librime)
— 방안 및 어휘집 형식, 후보 순서 지정 및 전체 문장 디코딩 모델의 주요 참고 자료입니다. 그
小狼毫 Weasel는 Windows TSF 통합 의미론을 비교 구현했으며,
鼠须管 Squirrel는 macOS IMKit 아키텍처의 참고 자료입니다. - Fcitx5 (libime)
— 병음 디코딩(불완전한 병음, 초장문어 벌칙) 및 사용자 빈도 모델의 중요한 참고 자료입니다.
fcitx5-macos는 macOS 단의 패키징과 입력 소스 등록 세부 사항을 비교 제공합니다. - 지점 오필 (极点五笔) — 오필 입력기의 상호작용 습관 및 기능 출처입니다.
오필 86 코드표 데이터는 해당 Rime 포팅 버전
rime-wubi86-jidian에서 가져왔습니다. - 백상 병음 rime-frost — 병음 어휘집 및 언어 모델의 데이터 출처입니다.
- pinyin-data — 한자 발음 데이터의 출처입니다.
- OpenCC — 간번 변환 사전 데이터의 출처입니다.
- Windows Classic Samples 및
TSF 공식 문서
— Windows 입력기 프레임워크 구현 참고 자료입니다.
상기 프로젝트들은 모두 독립적인 작품이며, 본 프로젝트는 단지 구현 참고용일 뿐 원본 코드를 복사한 것이 아닙니다;
데이터 출처 부분은 각자의 라이선스 조항을 따르며, 자세한 내용은 NOTICE.md를 참조하십시오.
라이선스
본 프로젝트의 소스 코드는 v0.127.0부터 GNU 일반 공중 사용 허가서 제 3 버전 또는 그 이상 (GPL-3.0-or-later)을 채택했습니다.
v0.127.0 이전에 배포된 버전은 배포 당시의 MIT 라이선스를 여전히 적용받습니다.
본 프로젝트를 기반으로 수정 및 배포되는 작품은 동일하게 GPL-3.0으로 배포되어야 하며 전체 소스 코드를 제공해야 합니다.
어휘집 데이터는 다음 출처들로부터 가져왔습니다:
백상 병음, 지점 오필,
pinyin-data, OpenCC
등의 제3자 프로젝트이며, 각자의 라이선스 조항을 따릅니다. 전체 명세는 NOTICE.md를 참조하십시오.
프로젝트 이름에 대하여
GPL 라이선스는 사용자에게 소스 코드를 사용, 수정 및 배포할 권리를 부여하지만, 프로젝트의 이름과 식별자를 사용할 권리는 포함하지 않습니다.
만약 본 프로젝트를 분기하여 공개적으로 배포하는 경우, 사용자가 소프트웨어의 실제 유지 관리자를 구별할 수 있도록 프로젝트 이름과 로고를 변경하고 비공식 분기임을 명시해야 합니다.
본 프로젝트는 등록된 상표가 없으며, 위 내용은 법적 조항이 아닌 협약 및 요청 사항입니다.
자세한 내용은 프로젝트 이름 및 식별자 사용 약정을 참조하십시오.
교류 및 피드백
- QQ 교류 그룹: 1085293418
- GitHub Issues: 문제 제기
관련 프로젝트
- WindInput-Go — 청풍 입력기의 전신(Go 구현)으로, 본 프로젝트는 이를 포팅하여 재작성되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Trending Rust (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기