Repository navigation
fix: 영문 전환·ABC 재활성, Confluence 목록 분리, 입력 소스 중복 - #11
Closed
calvinjkim wants to merge 3 commits into
Closed
calvinjkim wants to merge 3 commits into
calvinjkim wants to merge 3 commits into
Conversation
Stop treating empty cursor context as a sentence start after a Korean-to-English switch, and stop requesting a disabled ABC layout on every focus change. Co-authored-by: Cursor <cursoragent@cursor.com>
Web hosts were ending composition on the first choseong, and TIS minted extra PriType rows when the Korean mode id matched the bundle id and Hang+Latn were both advertised. Co-authored-by: Cursor <cursoragent@cursor.com>
…ive minted Korean.
A new ad-hoc id never appears in Settings, migrating …v2.v2.korean can steal Hangul from 2-Set, and first-mark {caret,0} plus activateServer adapter rebuilds split web compositions.
Co-authored-by: Cursor <cursoragent@cursor.com>
Author
|
이 작업은 업스트림 머지용이 아니라 개인 포크에서 이어가기로 했습니다. 로컬 overlay 설치·TIS 모드 ID 정리 같은 내용이 공식 PriType 배포와 섞이지 않게 이 PR은 닫습니다. 이후 변경은 https://github.com/calvinjkim/PriType-Swift 에서만 이어갑니다. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
무엇이 깨졌나
한→영 전환 직후 첫 로마자가 대문자로 들어가고, 설정에서 ABC를 꺼도 다시 살아났으며, Latin-only 필드에서는 PriType 영어 모드 대신 시스템 ABC가 선택됐습니다.
Confluence 같은 웹 편집기 목록에서
감사합니다.를 치면 초성ㄱ만 한 항목이 되고 나머지가 다음 항목으로 갈라졌습니다.설정 입력 소스에는 PriType가 여러 줄로 보이거나,
모든 입력 소스에 한/라틴 자판과 짝지어 수백 줄로 나왔습니다.원인
textBeforeCursor == ""를 문장 시작으로 취급합니다. 전환 직후 Chromium/Electron은 그 조회를 자주 비웁니다.activateServer/전환마다 비활성 ABC까지 포함해overrideKeyboardWithKeyboardNamed를 호출합니다. 꺼 둔 ABC가 TIS 목록에 다시 들어갑니다.selectInputMode:는 메뉴바 동기화용이지만, Latin-only 필드에서 TIS가 실제 ABC 소스로 넘어가는 경로가 됩니다.IsSecureEventInputEnabled()가 프로세스 전역이라, 다른 앱 비밀번호 필드만으로도 현재 앱 한글이 패스스루됩니다.ㄱ(U+3131)을 조합이 끝난 글자로 보고compositionend를 냅니다. 빈 목록 항목의 선택 영역에setMarkedText(..., NSNotFound)를 주면 그 선택을 통째로 교체해 목록이 한 번 더 쪼개집니다.com.pritype.inputmethod.v2.v2를 만들고 표시 이름이 전부 PriType가 됩니다.~/Library와/Library에 동시에 설치하면 부모/한글/영어가 복사본마다 한 번씩 더 나옵니다.Hang+Latn이면 입력 소스 추가 화면이 PriType를 모든 라틴/한글 자판과 짝짓습니다.변경 사항
.!?뒤 공백처럼 문장 끝이 확인될 때만 넣습니다.selectInputMode:를 제거합니다.setMarkedText는 캐럿{location, 0}에 삽입합니다. 카카오톡 등 네이티브는 기존NSNotFound+ 호환 자모 경로입니다.com.pritype.inputmethod.v2.korean으로 분리하고, 예전 모드 ID는 기동 시 마이그레이션합니다. 문자 레퍼토리는Hang만 두고, 설정에 한글 모드만 노출합니다. 영어 모드는 Caps Lock용으로 등록만 유지합니다.install.sh는 사용자//Library동시 설치를 경고합니다. 선택 플래그--as-patchtype은 로컬 설치본만 PatchType(2.7.4-patch.1)으로 바꿔 공식 2.7.4와 구분합니다. 소스 트리Info.plist공식 identity는 그대로입니다.왜 이 해결책인가
웹 목록 분리는 호스트가 호환 자모를 끝난 글자로 보는 쪽을 맞춘 것이고, 카카오톡 marked-text 계약은 건드리지 않았습니다.
입력 소스 중복은 표시 문자열만 바꿔서는 TIS가 만든
.v2.v2ID와 이중 설치를 못 없앱니다. 모드 키를 번들 ID와 다르게 두고Latn을 빼야 추가 화면이 세계 자판과 곱해지지 않습니다. Caps Lock은 등록된 영어 모드가 필요해서 모드 자체는 삭제하지 않았습니다.검증
swift test: 191 tests, 28 suites passedswift run -c debug PriTypeVerify: All tests passed머지 후 남는 작업
--as-patchtype으로 만든 새 번들 ID는 TIS 카탈로그에 바로 안 올라올 수 있어, 로그아웃 후 설정에서패치 한글만 추가해야 합니다.범위 밖
Docs/UnifiedInputArchitecture.md의 단일 소스 서술과, Caps Lock용 영어 모드 등록은 여전히 어긋납니다. 이번 PR은 영어 모드를 숨기기만 하고 등록을 제거하지는 않았습니다.Made with Cursor