Mac OSX에서 최종 애플리케이션으로의 키 매핑을 이해하고 싶습니다. 이러한 추론된 각 지점에 대한 매핑, 구성 및 진단 도구는 무엇입니까? 제공된 단계별 추론에 수정, 추가 또는 뺄셈이 필요한가요?
나는 이것이 많은 근거를 다루는 것처럼 보인다는 것을 알고 있지만 어떤 통찰력이라도 도움이 될 것입니다. 감사해요
키에 대한 일반적인 추론 경로
- 물리적 키 -> OSX USB HID 드라이버 -> OSX 관리 가능 키 코드
- OSX GUI 콘솔 -> Terminal.app -> SSH에서 Linux로 -> Linux 터미널 세션
- Linux 터미널 세션 -> 터미널 세션의 Emacs -> Emacs 바인딩
- OSX GUI 콘솔->X-Quartz->Emacs
지금까지 내가 이해한 한, 매핑 순서는 다음과 같습니다.
키보드 -> OSX
- iokit 데몬을 위한 OSX USB HID 드라이버 및 키보드 입력 인터페이스
Apple은 USB HID 코드를 다시 매핑하는 셸 유틸리티를 제공합니다(10.12에서 사용 가능).
hidutil 속성 - '{"UserKeyMapping":[{HIDKeyboardModifierMappingSrc:0xHIDSRC,"HIDKeyboardModifierMappingDst":0xHIDDST,...}를 설정합니다.
Apple은 Objective-C를 사용하여 프로그래밍 방식을 제공합니다. 두 방법 모두 Keytab Usage의 HID 키보드 사용 ID를 기본 주소 0x700000000의 오프셋으로 사용합니다. 바라보다https://developer.apple.com/library/archive/technotes/tn2450/_index.html. 이 0x700000000 기본 주소는 USB Alliance 문서(https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf).
카라빈 요소주요 이벤트를 획득하고 자체 대체 iokit 데몬을 통해 이를 수정할 수 있는 애플리케이션입니다.
Apple은 HID BT 버튼을 표시하는 개발 도구를 제공합니까?
OSX -> GUI 콘솔 세션
시스템 환경 설정 -> 키보드 -> 키보드 F1, F2, ...Fn을 표준 기능 키 또는 Mac OSX 전용 특수 기능 키로 설정합니다.
시스템 환경설정->키보드->키 조합 작업에 대한 단축키 설정
시스템 환경설정->키보드->입력 소스
체인의 링크 중 하나는 입력(키코드)을 출력(문자)으로 변환하는 "키보드 레이아웃"이라는 파일입니다. MacOS는 이러한 파일을 사용하여 동일한 물리적 키보드에 다른 언어를 입력합니다. 다른 키보드 레이아웃을 활성화하기만 하면 됩니다. 우쿨렐레이 레이아웃의 수정이 허용됩니다. 백스페이스, 탭, 커서 키 입력 등과 같은 명령은 키보드 레이아웃 파일의 영향을 부분적으로만 받으므로 해당 출력을 제어하려면 다른 접근 방식을 취해야 합니다. 또한 일부 스키마를 기반으로 여기에서 수동으로 수정할 수 있는 일부 XML 파일이 있다고 생각했습니다.
OSX 애플리케이션
터미널 프로그램환경 설정->프로필->키보드는 키의 ANSI ASCII "이스케이프 코드"를 변경할 수 있습니다. 이 이스케이프 코드는 ___ 표준을 준수합니까?
터미널 프로그램기본 설정->프로필->고급을 사용하면 터미널을 "xterm-256color"로 선택할 수 있습니다....이것이 매핑에 어떤 영향을 줍니까?
터미널 프로그램환경 설정 -> 프로필 -> 고급 -> 입력 추가 수정 허용 확인란: Ctrl-H 전송을 제거하고, Ctrl-V를 사용하여 비ASCII 입력을 이스케이프하고, 줄바꿈을 캐리지 리턴으로 붙여넣습니다.
Linux 운영 체제를 사용한 SSH 세션 10. ANSI ASCII 바이트 스트림은 terminfo 및 termcap을 사용하여 $TERM에 따라 해석됩니다. 세부 사항?
showkey -a, infocmp -CL 자세한 정보 제공
스티, 이거 어때?
여기에 다른 매핑 또는 진단 도구가 있나요?
Linux 운영 체제 및 Emacs를 사용한 SSH 세션 14. Emacs는 Mx 설명 바인딩을 사용하여 키 바인딩을 표시합니다.
- Emacs는 (global-set-key) 및 (define-key)를 사용하여 키 바인딩을 변경합니다.
Emacs를 사용한 X 세션
- X-Quartz는 Mac OSX와 인터페이스하여 키 바인딩을 애플리케이션에 매핑합니다.
- xmodmap 및 xkb를 사용하여 이러한 바인딩을 변경할 수 있습니다.
- 여기에 다른 매핑 또는 진단 도구가 있나요?