It seems the message "lircmd.cpp":394: Bad file descriptor" was misleading.
You are right the commandline option --uinput is not needed. The --uinput option is also read from config file.
But when this opition is used, no lircm filedescriptor is correctly initialized in daemons/lircmd.cpp main function, but the uinputfd filedescriptor is initialized instead.
The problem is that in daemons/lircmd.cpp in function msend, data is written to the filedescripter lircm, even if it is not initialized. This leads to the Error message. This could be fixed by checking with if (lircm != -1) as it is already done in the next step which starts with (if uinputfd != -1).
This next step seems to work correct. I can check this with cat /dev/input/mice. If lircmd is running I get output when pressing the remote if not I get no output.
This means lircmd is running correct, but it will write error messages to syslog for each key press.
This could be fixed.So please close the bug. Maybe you could ask the author to add this "if (lirmc != -1)"
Regards Bernd
binbtqvk1uRX1.bin
Description: Öffentlicher PGP-Schlüssel