Red de conocimiento informático - Material del sitio web - Cómo utilizar el teclado USB en una placa de desarrollo Linux integrada

Cómo utilizar el teclado USB en una placa de desarrollo Linux integrada

Primero, el código fuente del controlador del teclado USB se encuentra en el siguiente directorio:

Drivers/USB/Input/usbkbd.c

Compile el controlador del teclado USB en el kernel:

#Crear configuración del menú

Controlador de dispositivo - gt; soporte USB - soporte de teclado USB HIDBP (arranque simple)

(Nota: puede ser un USB controlador de teclado Es invisible de forma predeterminada. Debe modificar el archivo Kconfig en el directorio actual. No lo presentaré en detalle aquí. Debe estar más familiarizado con la sintaxis de Kconfig:))

Después. guardando la configuración, vuelva a compilar el kernel:

#Entorno de configuración de origen

#Produce uImage

UImage se genera y se ubica en el directorio: arch/arm/boot /UImage;

(o compilar el controlador del teclado USB directamente (cargado en el módulo del controlador);

Después de iniciar el sistema, asegúrese de que el teclado USB esté cargado en el archivo del dispositivo, generalmente el dispositivo /dev/input/event0, que se puede confirmar con el comando cat:

# Catalog/Development/Input/Event 0

Al operar el teclado USB, aparecerán caracteres confusos. aparece;

Luego, la capa de aplicación usa este programa para obtener información desde el teclado USB:

# include ltsys/types h gt;

# include ltsys. /stat . h gt;

# include ltfcntl.h gt

# include ltLinux/input .h gt;

Búfer de eventos de entrada de estructura;

int fd

int read _ nu

int main(int argc, char *argv[])

{

fd = open("/dev/input/event0 ", O _ RDONLY);

if(FD lt ;0)

{

error( "¡No se puede abrir el teclado USB del dispositivo!");

Salir(1);

}

int I = 0

printf; (" - fd: d - \n ", FD);

mientras(1)

{

Y (leer(fd, ampbuff, sizeof( struct input_event))==0)

{

;

}

//if(buff . code gt; 40)

printf("Tipo: d código: d valor: d\n ", buff.type, buff.code, buff . value);

//#Si es 0

//i;

//if(I gt; 12)

//{

//break;

//}

//#endif

}

Cerrar (FD);

Regresar 1;

}

Después de ejecutar el programa, presione la tecla A y verá el siguiente resultado:

- fd: 3 -

Modelo: 1 Código: 30 Valor: 1

Tipo: 0 Código: 0 Valor: 0