교차 운영 체제 사용자 정의 키보드 레이아웃

교차 운영 체제 사용자 정의 키보드 레이아웃

Macintosh, Windows 및 Linux(xkb) 키보드 레이아웃을 동시에 생성하는 소프트웨어가 있습니까?

편집하다: 내가 아는 바로는 Microsoft Keyboard Layout Creator는 수정자 키 변경을 지원하지 않습니다. (아마도 autohotkey가 이 문제를 해결할 수 있다는 내용을 읽었습니다.)

답변1

안타깝게도 주요 데스크톱 OS의 기본 키보드 레이아웃 파일을 생성하거나 트랜스코딩(포팅)할 수 있는 소프트웨어 도구나 패키지는 없습니다(적어도 대중에게 제공되는 파일은 아님). 이러한 도구는 동일한 시스템과 키보드에서든 아니든 여러 OS를 정기적으로 사용해야 하는 모든 사람들에게 매우 유용할 것입니다. 이는 점점 더 일반화되고 있습니다. 그러나 지금까지 이와 같은 것은 개발되거나 출시된 적이 없습니다. 그리고 그것은 이유가 없는 것이 아닙니다. OS 간에 키보드를 "포팅"하거나 다양한 플랫폼에서 정확하게 동기화된 키보드 레이아웃을 유지하려고 하는 데에는 여러 가지 복잡한 문제가 있습니다. 중요한 장벽 중 하나는 다양한 운영 체제에서 사용 및/또는 인식되는 '수정자'/명령 키 간의 차이입니다. 또한 Mac에는 다른 OS와 직접적으로 일치하거나 변환되지 않는 일부 키가 있는 고유한 물리적 키보드가 있어 정리하고 극복해야 할 문제와 불일치의 두 번째 "계층"이 생성됩니다. 본질적으로, 지정한 플랫폼 전체에서 동일하게 작동하는 키보드 레이아웃을 갖는 것은 실제로 기술적으로 불가능합니다.

하지만,키맨 개발자는 키보드 레이아웃 및 텍스트 입력 개발을 위한 강력한 타사 소프트웨어 도구로, 귀하가 실현하기를 바라는 요구 사항을 최대한 충족할 수 있습니다. 이는 대중이 사용할 수 있는 유일한 유형의 도구인 것으로 알고 있습니다. 타사 소프트웨어가 이상적이지는 않지만, 제공해야 하는 모든 것을 고려할 때 목표가 정확히 무엇인지(및 키보드 레이아웃이 얼마나 복잡/독특한지)에 따라 Keyman을 고려해 볼 가치가 있다고 주장합니다.

Keyman의 개발자 패키지는 막연하게 최신 버전의 Microsoft 및 Apple 데스크톱 OS뿐만 아니라 각각의 모바일 플랫폼에 대한 입력 방법/키보드 레이아웃의 글꼴을 포함한 올인원 설치 프로그램을 포함한 다양한 유형의 출력 파일을 생성할 수 있는 강력한 도구입니다. /devices 및 Android를 포함한 *nix 기반 플랫폼. 즉, 하나의 통합 도구를 사용하고 하나의 통합 프로젝트 파일을 편집하여 온스크린 가상 키보드 개발도 용이하게 한다는 뜻입니다! 게다가 최근에는 오픈 소스로 무료화되었습니다! 나는 당신이 그것을 이길 수 있다고 생각하지 않습니다... 많은 복잡한 스크립트에 필요한 유연하고 고급 기능 및 기능을 지원하기 위해 Keyman은 OS 기본 파일/기술(.klc/.dll) 대신 자체 엔진을 사용합니다. 또는 .keylayout) 이는 소위 "복잡한" 언어/작성 시스템에 필요한 Keyman이 제공하는 고급 상황 인식 기능을 지원하지 않습니다(주로 여기에는 인도 및 티베트와 같은 남아시아 스크립트가 포함됩니다. 문자 순서를 지정하거나 주변 텍스트를 기반으로 문자를 동적으로 선택하고 전체 시퀀스를 다시 입력할 필요 없이 시퀀스가 ​​완료된 후에도 계속 편집할 수 있습니다. KMFLKeyman 소스 파일에서 키보드를 컴파일하려면 *nix 기반 시스템에 설치하고 사용해야 합니다. (KMFL은 Keyman 엔진의 포트/재작성입니다.)
Keyman 엔진(또는 동급)은 매우 효율적이고 리소스가 거의 필요하지 않으며 매우 성숙하고 매우 안정적으로 보이며 문제를 일으키지 않고 원활하고 안정적으로 실행됩니다.

Keyman이 지원하는 다양한 지원 플랫폼 및 형식의 대부분은 고유한 또는 기술적 제한(고유 수정자 키와 같이 앞서 언급한)을 가지고 있거나 개발이 아직 진행 중이므로 특정 기능이 작동/존재하는 것을 제한할 수 있습니다(완전히). )을 구현했습니다. Keyman을 사용하면 각 플랫폼에 고유한 기능을 포함/인코딩하여 이러한 문제/차이를 완화하는 데 도움이 되도록 사용자 정의 및 최적화할 수 있습니다.

앞서 언급했듯이 Keyman의 모든 제품은 최근 다음과 같은 이유로 상업용에서 오픈 소스로 마이그레이션되었습니다.원래 소유자인 Tavultesoft로부터 Keyman 프로젝트를 인수합니다. SIL은 일부 지원 직원과 사용자 포럼을 추가하여 원래 개발자의 지속적인 개발을 지원하는 리소스에 액세스할 수 있습니다.

키보드가 지원하도록 설계된 언어/쓰기 시스템의 복잡성에 따라 Keyman의 그래픽 UI에서 지원하는 기능만 사용하여 프로젝트를 완료하는 것이 가능할 수도 있습니다. 그러나 데드 키, 상황에 따른 재정렬 및 ​​대체와 같은 보다 복잡한 기능을 사용하려면 일반 최종 사용자의 학습 곡선이 상당히 가파른 Keyman의 키보드 설명 언어(코딩/스크립팅 언어)를 사용해야 합니다.

이 설명 언어는 매우 유연하고 확장 가능하므로 유니코드 정규화, 컨텍스트 기반 문자 재정렬 및 ​​대체를 포함하여 복잡한 텍스트 처리 및 처리가 가능합니다. 또한 자동 또는 길게 누르기 가능한 출력 팝업 목록과 같은 적절한 "입력 방법"(일부 기본 그래픽 오버레이 요소/창 포함)에 가까운 기능도 제공합니다. 또한 반복되는 키 입력/키 탭을 사용하여 반복 출력 목록을 순환하는 독특하고 편리한 기능을 제공합니다. 특히 이 기능이 마음에 듭니다! 하나의 키에 긴 문자 목록을 저장할 수도 있지만 최대 2~5개를 갖는 것이 더 실용적이고 유용하다고 생각합니다. 저는 이를 대괄호 키에 사용하여 제가 사용하는 스크립팅 언어에서 사용되는 일부 흔하지 않은 대괄호에 대한 액세스를 제공할 뿐만 아니라 자주 사용되지 않는 기호에 액세스하기 위한 다른 기호 키에도 사용합니다. 특정 수정자 조합을 기억할 필요가 없기 때문에 정말 좋습니다. 원하는 문자가 인쇄될 때까지 키를 탭하기만 하면 됩니다. 실수로 해당 문자를 통과하면 다시 나타날 때까지 계속 탭하기만 하면 됩니다. "작성 키" 작동 방식과 유사하게 자동 대체를 수행하도록 설정할 수도 있습니다. ±를 +-로, ∓를 -+로 대체하고 ≤ ≰ ⪇ DF ≨ ≮ ≲ ≠ 등과 같은 문자를 유사한 순서로 대체합니다.

위에서 언급했듯이 고급 기능을 만드는 데 사용되는 언어는 나에게 이상적이지도 직관적이지도 않은 것 같습니다. 나는 또한 다음 중 일부를 발견했습니다.선적 서류 비치이 키보드 설명 언어의 구문과 '어휘'가 다소 모호하고, 모호하거나 혼란스럽고, 보강, 확장 또는 개선이 필요합니다. 하지만 이 부분은 계속해서 개선되고 개발되고 있는 것 같습니다. 사용자 포럼은 그다지 활발하지 않은 것 같지만(그렇게 많지는 않습니다!), 질문에 대한 답변은 빠르게 게시되는 것 같습니다.
더욱 중요한 것은 IMO에서 언어 자체가 코드에서 특정 사용법/기능을 표기/설명하는 방법에 관한 한 언어 자체가 번거롭고 지나치게/불필요하게 복잡하며 약간 반직관적이라고 느낀다는 것입니다.하지만저는 개발자/코더가 아니므로 해당 맥락에서 평가를 고려해야 합니다.'소금 한 알과 함께 섭취'. 저는 개발자들이 소프트웨어, 스크립팅 언어 및 설명서에 대한 기능 요청, 제안 및 피드백을 고려하고 평가하는 데 상당히 개방적인 것 같다는 것을 발견했습니다.

다행스럽게도 Keyman은 이미 1,000개 이상의 언어를 지원하며 해당 언어의 소스 파일/코드를 관찰, 연구, 수정하고 복사하여 자신의 프로젝트에 삽입하고 재활용할 수도 있습니다.

다양한 유형의 소스 파일부터 Keyman 엔진, 아이콘, 글꼴, 키보드 레이아웃 및 텍스트 처리 파일을 포함하는 완전 자동화된 설치 프로그램 패키지에 이르기까지 다양한 유형의 파일 및 패키지를 생성할 수 있습니다. 키보드의 다양한 동작을 활성화하는 사용자 정의된 사용자 토글 가능 설정을 만들 수도 있습니다.

Keyman이 적어도 OS 기본 키보드 레이아웃 형식을 가져올 수 있는 기능이 없다는 것은 불행한 일입니다. 그것은 정말로 매우 도움이 되고 놀랍도록 환상적일 것입니다! 하지만 오픈 소스이므로 기술, 동기, 시간이 있는 사람이 작업을 시작할 수 있습니다. 포럼에 대한 충분한 요청 및 의견이 있으면 개발자가 이 작업을 수행해야 한다고 설득하는 것도 가능할 수 있습니다.
이러한 프로젝트는 또한 해외에서 일할 일을 찾고 있는 저렴한 프리랜스 코더를 고용할 수 있는 좋은 후보가 될 수도 있습니다. 불행하게도 Keyman의 많은 기능은 Windows 및 MacOS의 키보드 레이아웃/입력 API에서 지원되지 않으므로 Keyman이 기본 키보드 레이아웃 파일을 생성하도록 하는 것은 불가능합니다.

~~~~~ 텍스트를 생성하지 않는 키(즉, 수정자/명령 키, 기능 키, 미디어 키, 편집 키(위, 아래, 백스페이스 등) 등)의 출력/기능을 변경하는 것은 대부분의 운영 체제에서는 키보드 레이아웃의 일부로 간주되지 않으며 Windows에서는 기본적으로 전혀 지원되지 않습니다. MacOS는 키보드 제어판에서 수정자 키를 다시 할당하는 방법을 제공하며, 유사하거나 더 광범위한 사용자 정의를 허용하는 다양한 *nix용 다양한 도구가 있습니다.
Windows용 타사 도구인Kbd편집이는 실제로 Windows용 표준 klc 파일과 DLL 설치 프로그램 패키지를 생성합니다. KbdEdit는 MSKLC가 어떻게 되어야 하는지 제가 상상하는 방식과 거의 비슷합니다... 연결된 데드키를 사용하여 매우 복잡한 키보드 레이아웃 생성을 포함하여 거의 모든 작업을 수행할 수 있을 만큼 충분히 강력하고 유연합니다... 또한 다음과 같은 기능도 있습니다. 일본어/아시아 키보드의 수정자 키를 포함하는 수많은 모호한 v_key에 키를 다시 할당합니다. 이러한 모호한 수정자 키를 창의적이고 용도에 맞게 사용하면 앞서 언급한 OS 간의 불일치 사이의 격차를 잠재적으로 메울 수 있습니다. 그러나 이를 구현하는 간단하거나 명확한 방법은 없습니다. 저는 Windows 키보드가 실제로 기술적으로 최대 15개의 별도 Shift/수정 키 상태/레벨/레이어를 가질 수 있다고 믿습니다! 그 중 하나(가나 키)는 Caps Lock과 같은 잠금/전환 가능 키일 수 있습니다. 키보드는 추가 소프트웨어나 타사 소프트웨어 없이도 작동합니다. 하지만 물론 Mac이나 Linux로 포팅할 수 있는 도구는 없습니다.

카라비너완전히 다른 전제를 가지고 있고 실제로 키보드 레이아웃 자체와 직접적인 관련이 없지만 가장 가까운 MacOS 아날로그입니다. 사용자 정의 수정자 키와 키 동작(예: 수정자 키를 단독으로 누르고 수정자로 사용하지 않을 경우 문자를 출력하도록 하는 등)을 생성할 수 있는 XML 기반 기본 언어가 있지만. 사용자 정의 수정자를 유용하게 사용하려면 원하는 모든 가능한 출력을 해당 목적으로 특별히 설계되지 않은 언어를 사용하여 수동으로 프로그래밍해야 합니다. 그러나 그것은 매우 다재다능하고 강력하며 매우 멋진 저수준 트릭과 기능을 수행할 수 있습니다. 그것은 또한 무료입니다!

우켈렐레기본 키보드 레이아웃 파일 및 번들을 생성하는 MacOS용 무료 도구입니다. MSKLC보다 훨씬 강력하고 직관적인 인터페이스를 갖추고 있으며 개발자가 자주 방문하는 매우 유용한 포럼입니다. 오픈 소스는 아니지만 SIL이 소유하고 있습니다. Ukelele의 GUI가 Keyman 개발자 패키지에 통합되는 것을 보는 것이 좋을 것입니다. 예를 들어 데드 키를 생성하는 데 사용됩니다. 물론 다른 플랫폼에서 레이아웃을 가져오거나 내보낼 수도 없습니다.

답변2

네, 꽤 간단합니다.

맥 OS Mac OS에서는 모든 것이 내장되어 있으며 간단하고 단계별 지침을 찾을 수 있습니다.여기

윈도우 Microsoft는 다음과 같은 자체 지침 목록을 제공합니다. http://msdn.microsoft.com/en-us/goglobal/bb964665.aspx

리눅스 다음을 사용하여 사용자 정의 Linux 키보드 레이아웃 만들기xkb.

StackOverflow에서도 비슷한 질문이 올라온 적이 있습니다. https://stackoverflow.com/questions/826986/how-to-make-a-custom-keyboard-layout

관련 정보