WinWarbler supports PSK31, PSK63, RTTY, and CW -- all with a single user interface. CW support is transmission only.
You'll need a one-transistor interface between a serial port modem control signal and your transceiver's KEY input; if you want WinWarbler to switch your transceiver between RX and TX, you'll need a second interface. These are easily homebrewed, but there are also commercial products available that do this.
WinWarbler can also generate CW via a WinKey IC. You can build a WinKey-based circuit yourself, your use a commercial product like MicroHam's MicroKeyer. If the circuit includes a speed potentiometer, you can use it to control the speed of generated CW.
WinWarbler is free, and available via www.qsl.net/dxlab