2017-12-19 19 views
1

리눅스에서 /dev/input에 해당하는 macOS (저급/다기능/IOKit 어딘가)의 하위 수준 키보드 장치의 이름은 무엇입니까? (예 : /dev/input/event0)Linux/dev/input에 해당하는 Mac 저수준 키보드 장치?

컨텍스트 : Linux를 실행하는 Docker 컨테이너에 Mac 장치를 '매핑'하려고하기 때문에 묻습니다.

+1

컨텍스트 발언에 대한 참고 사항 : MacOS의 Docker 컨테이너는 일반적으로 HyperKit이라는 하이퍼 바이저 아래에서 실행되는 독립적 인 Linux 커널에서 실행됩니다. 각 컨테이너가 자체 VM을 얻는 지 또는 컨테이너 기능이 단일 VM의 Linux 커널에서 사용되는지는 알 수 없습니다. 어쨌든 [HyperKit은 현재 USB 장치 통과를 지원하지 않습니다] (https://github.com/moby/hyperkit/issues/149). VirtualBox, VMWare Fusion 및 Parallels *와 같은 다른 가상화 환경은 Mac에서 직접 USB 패스 스루를 지원하므로 옵션으로 제공됩니다. – pmdj

답변

1

macOS에는 /dev/ 노드와 직접적인 대응이 없습니다. HID 이벤트는 (결국) 커널의 IOHIDSystem 클래스에서 처리되고 사용자 공간으로 IOHIDUserClient을 통해 WindowServer로 전송됩니다. 응용 프로그램은 커널 HID 데이터를 얻기 위해 IOHIDLibUserClient을 사용하는 IOHIDLib을 통해 직접 HID 장치의 측면에 직접 액세스 할 수도 있습니다.

맥 OS 전용 장치 유형의 소수 같은 nullzerorandom가 등과 같은 몇 가지 않는 BSDism있다 특히 블록 장치 (diskXsY, rdiskXsY), 시리얼 포트, 전통적인 UNIX 가상 기기 /dev/ 노드를 사용 (예 : BPF). 거의 모든 것이 IOKit을 통해서만 처리됩니다.