Provavelmente porque era conveniente na época e a maneira mais simples de torná-lo acessível ao usuário usando estruturas de kernel já presentes.
Não é tão conhecido que alguém possa escrever os arquivos /dev/input/eventX
e, assim, gerar eventos em nível de entrada.
Da mesma forma, é possível gravar EV_SND
events no arquivo /dev/input/eventX
representando o palestrante (ou em um dos links simbólicos, normalmente /dev/input/by-path/platform-pcspkr-event-spkr
), e dessa forma usar o alto-falante para gerar som. Isso é ainda menos conhecido. : -)
Aqui está um perl oneliner que gera uma nota com o tom especificado
perl -e 'print pack("qssl", 0, 0x12, 2, 2000)' > /dev/input/by-path/platform-pcspkr-event-spkr
e aqui está outro onliner para desativá-lo
perl -e 'print pack("qssl", 0, 0x12, 2, 0)' > /dev/input/by-path/platform-pcspkr-event-spkr
BTW, os eventos de plug para dispositivos de áudio HDA também aparecem na camada de entrada como /dev/input/eventX
files. Embora seja um pouco mais lógico classificá-los como eventos reais de entrada .