Acceso a múltiples teclados ingresados ​​por C ++ (o python) en linux

Quiero leer la entrada de (hasta 4) teclados conectados a una computadora en mi propia aplicación.

Mi situación

Para un pequeño evento, me gustaría conectar tres escáneres de códigos de barras USB a una computadora portátil (con un teclado)

Por defecto, un escáner de código de barras simplemente funciona como un teclado. Si escanea un código de barras, simplemente ingresa el número y presiona la tecla “regresar”. Eso es genial y funciona fuera de la caja.

Para mi aplicación, el escáner de tres códigos de barras funcionará simultáneamente y podría entrar en conflicto con una aplicación predeterminada. También debe haber una opinión para ingresar el código de barras manualmente en el teclado de las computadoras portátiles.

La meta

Por lo tanto, necesito leer la entrada de los cuatro teclados con mi aplicación personalizada (C ++ o python) y manejarlos por separado.

El entorno

Mi entorno específico es Ubuntu 11.04 en una computadora portátil con tres escáneres de códigos de barras conectados. La aplicación está escrita en C ++ o python (dependiendo de las respuestas a esta pregunta).

Gracias de antemano por cualquier pista o respuesta

¿Por qué no ir al nodo dispositivo?

tal vez se encuentra aquí cat / dev / input / by-path / yourDevice

y lee el codigo aqui

como lo hacen aquí