Tengo desarrollado un pequeño modulo que controla precisamente lo que pides.
Esta integrado con HR y abre un modelo en Odoo que se "queda escuchando" el lector de código de barras, y tras la lectura comprueba si alguien en recursos humanos tiene ese código, que por cierto es un EAN13 generado por el propio módulo y configurable vía una secuencia (ir.sequence), y si esa lectura es correcta genera una entrada en el modelo asistencias. He incluido unos pequeños controles para que por ejemplo no se pueda hacer una nueva lectura antes de 1 min. para que no se dupliquen lecturas por error.
En fin, si te interesa te lo puedo mandar y si alguien esta interesado :-)
Lógicamente lo tendrás que adaptar para que utilice los modelos en torno a "res.users".