Morse Academy maybe?
Morse Aademy is a DOS based program that operates well under Win95/98/ME
Home page is here:-
http://ah0a.org/AH0A.html
Not sure about keying with the program though. If I think way back I seem to recall that may of the Morse Code programs in the past tended to use the sounder on the motherboard as their output (possibly the "Bell" command?).
The commonest method for connecting a key was to use the joystick port, obviously, as it was a purpose built interface with the outside world.
Yet others used dedicated hardware interfaces that connected via either RS232 or else via the parallel printer port.
Many of the free-bee Morse programs simply used the keyboard for input, you typed, the PC converted the ascii character to Morse and sounded the motherboard sounder.
Apart from searching for DOS programs you could maybe look for programs running under Windows for Workgroups (Win 3.11) maybe.
It's still possible to get Borland and/or Turbo C to compile your own program for DOS, or another nice IDE is CODE::BLOCKS which I 'think' can compile for both DOS and Linux(?).
Many years ago I wrote a program for the Spectrum PC that simply used any one of the keyboard keys as an input device, and translated the output to both characters and also Morse Code (like the old 'slip reading' days).
To be honest I was glad when things like Arduinos appeared on the scene, such an easy way to get firmware to control hardware. Also a boon are the high level language IDE's for PICs and AVRs etc. So much easier (for me) than trying to use assembler language.
73, Mark...