Cómo utilizar el teclado USB en una placa de desarrollo Linux integrada
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; p>
//}
//#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