O teclado bluetooth está associado a 'stdin'?

2

Eu sei que o teclado é uma entrada padrão e é referido pelo arquivo stdin .

Por vezes, utilizo um teclado Bluetooth (BT) quando trabalho no meu portátil. Ambos os teclados, meu teclado de laptop e o teclado BT funcionam simultaneamente.

Então, os dois teclados estão associados a stdin ? Se sim, como eles estão sincronizados?

    
por user2555595 04.08.2014 / 07:17

1 resposta

2

Um teclado é apenas um dispositivo de entrada, não tem relação direta com a entrada padrão como tal. A entrada padrão de um programa é meramente um fluxo de dados abstrato que é passado como descritor de arquivo 0.

Muitos programas que usam entrada padrão recebem entrada do teclado, mas não fazem isso diretamente. Em vez disso, na ausência de instruções para fazer o contrário, seu shell conecta a entrada padrão do novo programa ao seu terminal, que está conectado ao seu teclado. Que a entrada vem do teclado não é uma preocupação do programa, que apenas vê um fluxo de dados vindo do seu terminal.

Quanto a como os dois teclados funcionam simultaneamente, esse trabalho normalmente é executado no nível do kernel, não no terminal ou no nível do aplicativo. Os aplicativos podem solicitar a entrada de um dos teclados ou um mux de todos eles. Essa representação geralmente se aplica à maioria dos dispositivos de entrada humanos, não apenas aos teclados.

Se você estiver usando o X, ou uma camada intermediária similar entre o kernel e seu programa, mais abstrações podem estar presentes, mas a idéia básica é a mesma - aplicativos utilitários normalmente não acessam o teclado.

    
por 04.08.2014 / 10:39