Observe atentamente um excerto de um comando ls -al /dev
no meu sistema:
brw-rw---- 1 root floppy 8, 0 Jun 7 19:55 sda
brw-rw---- 1 root floppy 8, 1 Jun 7 19:55 sda1
brw-rw---- 1 root floppy 8, 2 Jun 7 19:55 sda2
brw-rw---- 1 root floppy 8, 3 Jun 7 19:55 sda3
brw-rw---- 1 root floppy 8, 5 Jun 7 19:56 sda5
brw-rw---- 1 root floppy 8, 6 Jun 7 19:56 sda6
brw-rw---- 1 root floppy 8, 7 Jun 7 19:56 sda7
brw-rw---- 1 root floppy 8, 8 Jun 7 19:57 sda8
brw-rw---- 1 root floppy 8, 16 Jun 7 19:55 sdb
brw-rw---- 1 root floppy 8, 32 Jun 7 19:55 sdc
brw-rw---- 1 root floppy 8, 33 Jun 7 19:55 sdc1
brw-rw---- 1 root floppy 8, 34 Jun 11 10:39 sdc2
brw-rw---- 1 root floppy 8, 35 Jun 7 19:56 sdc3
Os dois números após o ID do grupo, mas antes da data, são os números principal e secundário do arquivo do dispositivo. Este é basicamente o "tipo" de dispositivo que é. 8 neste caso é uma unidade de disco SCSI (ou SCSI emulada).
Olink é uma lista um pouco não tão recente de todos os números maiores e menores. Não tem certeza da localização oficial da versão mais recente da lista.
De qualquer forma, esses arquivos são criados com o comando mknod
( mknod [OPTION]... NAME TYPE [MAJOR MINOR]
, alguns tipos são b
para bloco, c
para caractere). Há também uma chamada de sistema mknod()
. Não conheço totalmente as implicações se você criar outro arquivo com o mesmo maior / menor que um dispositivo existente.
uinput
, conforme descrito nos comentários, é provavelmente o que você está procurando, embora no hardware do PC exista um /dev/psaux
que lê / grava diretamente na porta PS / 2 se o seu sistema tiver idade suficiente para ter um. Não poderia mesmo dizer-lhe onde começar com teclados USB ...
Se você quiser apenas um arquivo de dispositivo falso e não se importar com o que acontece com os dados enviados, sempre haverá /dev/zero
. Também links simbólicos podem ser uma solução simples e simples nesse caso.