В статье "Using the Input Subsystem" рассказывается как в Linux ядре работает система передачи информации о возникающих внешних событиях (events) от клавиатуры или мыши при использовании /dev/input.