-
Notifications
You must be signed in to change notification settings - Fork 0
Home Korean
繁體中文 · English · 简体中文 · 日本語 · 한국어
입력기가 프로그램 간에 동작하는 방식을 제어하는 Windows 유틸리티입니다. 마지막으로 선택한 입력 모드(한글/영문 등의 고유 모드 또는 영숫자 모드)를 다음 창으로 이어주며, 실행 파일을 읽을 수 없는 프로그램(예: 안티치트로 보호되는 전체 화면 게임)을 포함해 특정 프로그램을 고정된 입력 언어로 바인딩할 수 있습니다.
이 유틸리티는 아직 개발 중이며 코드 서명 인증서가 없습니다. 그래서 Windows Defender가 이를 바이러스로 분류하여 곧바로 삭제할 수 있습니다. 알려진 탐지 항목은
Behavior:Win32/Persistence.A!ml입니다.이 탐지는 로그온 시 자동 시작 기능이 만드는 로그온 작업에 대한 것입니다. 로그온 시 시작을 제공하는 프로그램은 모두 동일한 작업을 해야 하며, 서명되지 않은 프로그램이 이를 수행하는 것이 바로 동작 모니터링이 감시하는 대상입니다. 오탐 신고는 Microsoft에 제출했지만, 백신이 어떻게 판단할지는 누구도 보장할 수 없습니다.
소스 코드, 빌드 워크플로, 릴리스 산출물은 모두 공개되어 있으며 태그된 커밋으로부터 GitHub Actions가 빌드하므로, 직접 검토하거나 재현할 수 있습니다. 이를 바탕으로 계속 사용할지 여부는 당신의 결정입니다.
삭제되는 경우: 포터블
zip을 사용하거나, 로그온 시 자동 시작을 체크하지 않은 채로 두세요.코드 서명: 릴리스는 서명되지 않습니다. 대신 각 아티팩트에 빌드 프로버넌스(build provenance)가 포함됩니다 — GitHub Actions가 태그에서 빌드하며
gh attestation verify로 검증할 수 있는 증명이 첨부됩니다.
Releases에서 받을 수 있습니다:
| 파일 | 설명 |
|---|---|
...-setup-admin.exe |
관리자 권한이 필요합니다. 안티치트로 보호되는 게임에 필수 |
...-setup-user.exe |
관리자 권한이 필요 없지만, 권한이 상승된 프로그램은 제어할 수 없습니다 |
...-x64.zip |
포터블; 압축을 풀고 실행 |
설치 중 로그온 시 자동 시작을 체크하세요. 그러면 화면 오른쪽 아래 알림 영역에서 실행됩니다 — Windows 11은 새 아이콘을 시계 옆의 ⌃ 꺾쇠 뒤에 숨깁니다. 설치하자마자 작동하며, 별도의 설정이 필요 없습니다.
흔히 두 가지가 방해가 됩니다:
- 파란색 Windows의 PC 보호 화면 → 추가 정보 → 실행. 파일이 서명되지 않았기 때문에 이는 바이러스 탐지가 아니라 평판 경고입니다.
-
백신이 설치 프로그램을 삭제 → 서명되지 않은 설치 프로그램은 휴리스틱에 자주 걸립니다. 기능적으로 동일한 포터블
zip을 사용하세요.
Windows는 IME 상태를 스레드별로 유지합니다. 다른 창으로 이동하면 변환 모드가 IME의 기본값으로 되돌아갑니다 — 중국어 키보드라면 중국어가 됩니다. 그래서 Shift를 눌러 영숫자로 바꾸고 창을 전환하면, 다시 중국어를 입력하게 됩니다.
설정 → 시간 및 언어 → 입력 → 고급 키보드 설정 → 각 앱 창에 대해 서로 다른 입력 방법 사용 은 이 문제를 해결하지 못합니다. 이 설정은 어떤 입력 방법이 활성화되는지를 관장할 뿐, 그 입력 방법이 고유 모드인지 영숫자 모드인지는 관장하지 않습니다 — 이를 꺼도 창을 전환하면 여전히 중국어로 되돌아갑니다.
변환 모드를 다루는 Windows 설정은 없습니다. 그것이 이 유틸리티의 첫 번째 목적입니다: 당신이 선택한 고유/영숫자 모드를 다음 창으로 이어주는 것입니다.
두 번째 목적은 특정 프로그램을 하나의 입력 언어로 고정하는 것으로, 어떤 설정으로도 닿을 수 없는 종류까지 포함합니다 — 원시 입력을 읽는 전체 화면 게임은 키보드를 직접 가져가서 IME 상태 관리에 전혀 참여하지 않으므로, 외부에서만 처리할 수 있습니다. Helldivers 2가 그런 예입니다.
아래 기능은 모두 트레이 아이콘의 오른쪽 클릭 메뉴에 있습니다:

창 간 모드 유지(기본값 켜짐) — 한 창에서 중국어를 입력하고 다른 창으로 전환하면 중국어가 다시 돌아옵니다. Shift를 눌러 영숫자로 바꾸면 다음 창도 그 상태를 받습니다. 가장 최근에 의도적으로 변경한 것을 따릅니다. 원하지 않으면 트레이 메뉴에서 체크를 해제하세요.
앱 언어 바인딩 — 프로그램을 하나의 언어로 고정합니다: 터미널은 항상 영어, Word는 항상 중국어. 오른쪽 클릭 → 앱 언어 바인딩..., 그런 다음 프로그램을 찾아보기하거나, 설치 위치와 무관하게 매칭되도록 파일 이름만 입력하거나, 마지막 앱 사용을 누르거나, 파일을 읽을 수 없는 프로그램에는 창 클래스 사용을 누릅니다.

경로에 버전이 포함되거나 창 클래스에 생성된 접미사가 붙는 프로그램의 경우, 대신 와일드카드를 입력하세요: glob:*\game.exe는 전체 경로와 매칭되고 class-glob:name_*는 창 클래스와 매칭되며, *(경로 구분자를 포함한 임의의 연속 문자)와 ?(한 문자)를 사용합니다. 정확한 규칙이 와일드카드보다 우선하지만, 이것은 기본 순서이며 목록을 드래그해 바꿀 수 있고 위에서부터 처음 일치하는 규칙이 우선합니다. 각 규칙은 전환 시 한 번만 적용(창에 들어올 때 설정한 뒤 그대로 둠)으로 설정할 수 있고, 아무것도 일치하지 않으면 기본 언어(기본값 꺼짐)를 쓸 수 있습니다.
캐럿 입력 표시기(기본값 꺼짐) — 트레이 메뉴의 커서 위치에 입력 표시기 표시는 텍스트 캐럿 옆에 실제로 입력될 내용을 알려주는 작은 배지를 띄웁니다: 언어의 고유 모드에는 中 / あ / 한, IME가 영숫자 모드일 때는 A, 또는 EN 같은 언어 코드를 표시합니다. 선택한 값은 기억됩니다. 배지는 캐럿을 따라가며 자체 창을 가리지 않습니다. 보고되는 캐럿 위치가 믿을 수 없는 필드에서는 — Chromium의 한계로 인한 브라우저 주소 표시줄 등 — 텍스트를 가리지 않도록 줄 위쪽에 그려집니다.
- Helldivers 2에서 중국어 IME 제어하기 — 안티치트 게임은 프로그램 파일로 식별할 수 없으므로 대신 창 클래스로 바인딩해야 합니다.
트레이 아이콘을 클릭하지 말고 마우스를 올려보세요 — 클릭하면 확인하려던 프로그램이 포커스를 잃어 잘못된 정보를 보게 됩니다. 네 줄이 나타납니다: 현재 프로그램, 그에 바인딩된 언어, 실제로 사용 중인 언어, 마지막 전환이 성공했는지 여부. 바인딩된 언어와 실제 언어가 일치하면 정상 작동 중입니다.

다섯 번째 줄 일반 권한 - 권한이 상승된 프로그램은 보이지 않음 은 유틸리티가 관리자로 실행되고 있지 않다는 뜻입니다. 더블 클릭하면 어떤 자동 시작 방식이 구성되어 있는지를 포함한 더 자세한 상태 창이 열립니다.
현재 프로그램이 class:로 시작하는 무언가로 표시됩니다 — 정상이며 결함이 아닙니다. 일부 프로그램, 주로 안티치트 게임은 다른 프로그램이 자신의 파일 위치를 읽지 못하게 하므로, 유틸리티는 대신 창 클래스로 이를 식별합니다. 그 class:... 문자열이 바로 바인딩 규칙에 필요한 값입니다.
관리자로 실행해야 하나요? 대부분의 안티치트 게임처럼 스스로 관리자로 실행되는 프로그램을 제어할 때만 필요합니다 — Windows는 권한이 낮은 프로그램이 권한이 높은 프로그램의 창을 읽는 것을 허용하지 않으며, 창 클래스조차도 읽을 수 없습니다. 자동 시작은 항상 권한 상승 없이 실행됩니다(두 설치 프로그램 모두): 매 로그온마다 조용히 권한 상승 상태로 시작하는 프로그램은 백신이 지목하는 지속성(persistence) 패턴이므로, 유틸리티는 의도적으로 그렇게 하지 않습니다. 권한이 상승된 프로그램을 제어하려면 트레이 메뉴의 관리자로 다시 시작을 사용해 그 자리에서 권한을 올리세요 — 세션당 한 번, 필요해지기 전에, UAC 프롬프트 한 번을 수락하면 됩니다. 일반적인 사용(모드 유지, 권한 상승되지 않은 프로그램 바인딩)에는 권한 상승이 필요 없으며 ...-setup-user.exe로 충분합니다.
고급: 정말로 권한 상승된 자동 시작을 원하는 경우. 유틸리티는 (위 이유로) 이를 의도적으로 내장하지 않지만, 작업 스케줄러의 "로그온 시, 최고 권한" 작업으로 직접 설정할 수 있습니다. 관리자 명령 프롬프트에서 다음을 실행하세요(경로는 실제 설치 위치로 바꾸세요; 관리자 빌드의 기본값은 C:\Program Files\ImeModePersistence입니다):
schtasks /Create /TN "ImeModePersistence-Elevated" /TR "\"C:\Program Files\ImeModePersistence\ImeModePersistence.exe\"" /SC ONLOGON /RL HIGHEST /F
/RL HIGHEST는 로그온 시 UAC 프롬프트 없이 최고 권한으로 시작합니다. 작업을 만든 후에는 트레이 메뉴에서 앱 자체의 로그온 시 자동 시작을 꺼야 합니다. 그렇지 않으면 권한 상승되지 않은 HKCU Run 항목이 로그온 시 권한 상승되지 않은 두 번째 복사본을 실행합니다. 작업을 제거하려면: schtasks /Delete /TN "ImeModePersistence-Elevated" /F.
바인딩은 언어를 고정하는 것이지 특정 IME 하나를 고정하는 것이 아닙니다 — 중국어, 영어, 일본어를 각각 바인딩할 수 있지만, 한 언어에 여러 IME가 설치되어 있으면 첫 번째 것이 사용됩니다.
일부 프로그램은 곧바로 되돌립니다 — 유틸리티는 프로그램과 다투기보다는 몇 번 재시도한 뒤 물러났다가 다시 시도합니다: 처음에는 몇 초, 프로그램이 고집할수록 더 길게, 최대 30초까지입니다. 다른 창으로 전환했다가 돌아오면 즉시 재시도합니다.
안티치트가 이를 지목할 수 있나요? 게임을 수정하거나, 메모리를 읽거나, 무언가를 주입하거나, 키 입력을 합성하지 않습니다. 전환은 창에 Windows의 표준 입력 언어 변경 알림을 게시하는 방식으로 작동합니다 — Win+Space를 눌렀을 때 시스템이 전달하는 것과 동일한 것이며, 창은 이를 무시해도 됩니다 — 그리고 이것이 적용되지 않을 때는 Windows 자체의 입력 설정으로 대체합니다. 전체 목록은 Helldivers 2 페이지에 있습니다.
인터페이스는 Windows의 표시 언어(영어·번체 중국어·간체 중국어·일본어·한국어)를 따릅니다. 설치 프로그램은 영어 전용입니다. 다크 모드에서는 앱 언어 바인딩 대화상자 전체에 적용되며, 상태·오류 같은 임시 창은 본문은 밝게 두고 제목 표시줄만 어두워집니다.
ImeModePersistence · 下載 / Releases · 問題回報 / Issues · README · 設計筆記 / Design notes · MIT
本 Wiki 是操作說明;實作理由與被否決的做法記在設計筆記。發佈的檔案未經簽章。 This wiki is the how-to; implementation reasoning and rejected approaches live in the design notes. Released files are unsigned.
繁體中文
English
简体中文
日本語
한국어