How to sign a transaction using only an offline computer? I think it is possible to generate keys on an offline computer and sign. To create a transaction I need to input transactions detail, and somehow I have to transfer signed transaction from offline computer to a online computer to relay the transaction.

Is it possible to do this without using USB storage? I can use a keyboard, or barcode reader to transfer the input transaction hash to an offline computer and the signed transaction back to the online computer. So that private key stays with the offline computer.

What are step-by-step instructions to do this, with any required error check / correction?
You're correct that the offline node needs to how to claim its funds, so it can't be totally isolated. 

Currently, the most mature offline wallet solution is through a client called Bitcoin Armory. Here's what your workflow looks like with offline wallets:


  Online node creates transaction -> USB key -> Offline computer signs transaction -> USB key -> Online node broadcasts transaction


You can use Windows, Linux, or Mac for your offline wallet, but I'd recommend Linux, as it's difficult to disable AutoRun/AutoPlay on Windows.

Download:


Windows/Linux
Mac - Beta


This page explains offline transactions in greater detail.