블루투스 키보드가 "stdin"과 연결되어 있나요?

블루투스 키보드가 "stdin"과 연결되어 있나요?

나는 키보드가 표준 입력이고 파일에 의해 참조된다는 것을 이해합니다 stdin.

나는 가끔 노트북으로 작업하면서 블루투스(BT) 키보드를 사용한다. 내 노트북 ​​키보드와 BT 키보드가 동시에 작동합니다.

그렇다면 두 키보드가 모두 와 연관되어 있습니까 stdin? 그렇다면 어떻게 동기화됩니까?

답변1

키보드는 단지 입력 장치일 뿐이며 표준 입력과 직접적인 관계는 없습니다. 프로그램의 표준 입력은 단순히 파일 설명자 0으로 전달되는 추상 데이터 스트림입니다.

표준 입력을 사용하는 많은 프로그램은 키보드에서 입력을 받지만 직접 입력을 받지는 않습니다. 대신, 별도의 지시가 없으면 쉘은 새 프로그램의 표준 입력을 터미널에 연결하고 터미널은 다시 키보드에 연결됩니다. 입력이 키보드에서 나오는 프로그램과는 아무 관련이 없으며 프로그램은 터미널에서 나오는 데이터 스트림만 볼 수 있습니다.

두 개의 키보드가 동시에 작동하는 방식은 일반적으로 터미널이나 애플리케이션 수준이 아닌 커널 수준에서 이 작업이 수행됩니다. 애플리케이션은 키보드 중 하나 또는 모든 키보드의 멀티플렉서에서 입력을 요청할 수 있습니다. 이 표현은 일반적으로 키보드뿐만 아니라 대부분의 인간 입력 장치에 적용됩니다.

커널과 프로그램 사이에 X 또는 유사한 중간 계층을 사용하는 경우 더 많은 추상화가 있을 수 있지만 기본 아이디어는 동일합니다. 유틸리티 응용 프로그램은 일반적으로 키보드에 액세스할 수 없습니다.

관련 정보