Microsoft Keyboard Layout Creator는 ZWNJ(U+200c)를 공백 문자로 허용하지 않습니다.

Microsoft Keyboard Layout Creator는 ZWNJ(U+200c)를 공백 문자로 허용하지 않습니다.

저는 Microsoft Keyboard Layout Creator 1.4를 사용하여 사용자 정의 페르시아어 키보드 레이아웃을 만들고 있습니다. +를 페르시아어(표준) 레이아웃과 같은 ('‌' - U+200c) 문자 로
정의하고 싶습니다 . 그러나 DLL 및 설치 패키지를 빌드하려는 경우 공백 문자로 허용되지 않습니다. 로그 파일의 오류는 다음과 같습니다.ShiftSpaceZWNJZWNJ

오류: Shift 상태 'Shift'의 'VK_SPACE'는 공백 문자로 구성되어야 하지만 대신 '‌'(U+200c)로 정의됩니다.

이 문제를 어떻게 해결해야 합니까? 대체 소프트웨어가 있나요?

답변1

Microsoft Keyboard Layout Creator에서 키를 + Space에 매핑하려고 하면 다음 오류 메시지가 나타납니다.ShiftSpace

여기에 이미지 설명을 입력하세요

이는 아마도 사용자가 사용할 수 없는 키보드 레이아웃을 만드는 것을 걱정하는 Microsoft의 제한 사항입니다. 그것은 이미 a에서 언급되었습니다. 우편 2012년부터 지금까지 변함이 없습니다.

그런 다음 솔루션은 Windows보다 먼저 입력된 키를 가져오는 타사 제품에서 나와야 합니다. 오토핫키.

다음 한 줄짜리 AutoHotkey 스크립트는 +를 200C 누르면 유니코드 키를 보냅니다 :ShiftSpace

+Space::Send {U+200C}

AutoHotKey를 설치한 후 스크립트를 .ahk파일에 넣고 두 번 클릭하여 테스트합니다. 트레이바에 있는 녹색 H 아이콘을 마우스 오른쪽 버튼으로 클릭하고 종료를 선택하여 스크립트를 중지할 수 있습니다. 로그인 시 실행되도록 하려면 시작 그룹의 에 배치하십시오 C:\Users\USER-NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup.

유용한 AutoHotkey 문서:

답변2

추가 소프트웨어를 사용할 필요가 없습니다. 실제로 MSKLC에서 정의된 문자로 설정할 수 있지만 U+200C데드 키로 설정해야 합니다. 따라서 키를 일반 U+0020문자로 설정하되 데드 키 기능을 활성화하십시오. 공백이 아니더라도 원하는 문자를 설정할 수 있습니다. U+2011AltGr(Ctrl+Atl)을 사용하여 렌더링(잘라내지 않는 하이픈)을 위한 스페이스 키를 설정했습니다 . 유일한 단점은 캐릭터를 렌더링하려면 두 번 눌러야 한다는 것입니다.

U+200C잘 작동하는지 알려주세요 .

내가 맞춤 레이아웃으로 수행한 작업을 살펴보고 모방해 보세요.

관련 정보