modern transceivers with a build-in CW-keyer can generate Morse-code via CAT-interface. Via hamlib this can be achieved with the "b" command (send_morse). I tested it successfully via the hamlibd-daemon (started with cqrlog) with following command:
echo "b text to send as morse code" | nc localhost 4532
(hamlib V.1.2.14 -> Kenwood TS-590S)
It would be nice to have a third option under Preferences -> CW Interface: "hamlibd".
Greetings from Germany