user2229: 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?

user13268: I'm working on this right now.  Currently, I have online and offline armory set up to use the USB key as has been described here before.  I just created a new android app that will peer with the bitcoin network, and allow you to scan a QR code representing ANY signed transaction, and broadcast it to the peers.  This makes it so you can do this:

Make an unsigned transaction in armory
Create a QR code from it
Scan it with phone (so far, QR Droid and Barcode Scanner work)
Take phone to offline wallet
Display QR code for unsigned transaction on phone (using history in QR droid works well)
Scan using webcam in offline wallet computer (I successfully did this with the zbar Linux application in Ubuntu - package details to follow)
Sign tx with offline armory
Display QR code for signed tx (more packages to follow)
Scan with new android app to broadcast

This is almost done - the app is currently peering with bitcoin nodes and will scan the QR code and send it to a broadcasting activity, but the broadcast part and the parsing of the armory format remains.
UPDATE: Implemented.  Watch the video
Python code here
Android app code here

user2306: 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. 

2229: <p>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.</p>

<p>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.</p>

<p>What are step-by-step instructions to do this, with any required error check / correction?</p>
 13268: <p>I'm working on this right now.  Currently, I have online and offline armory set up to use the USB key as has been described here before.  I just created a new android app that will peer with the bitcoin network, and allow you to scan a QR code representing ANY signed transaction, and broadcast it to the peers.  This makes it so you can do this:</p>

<ul>
<li>Make an unsigned transaction in armory</li>
<li>Create a QR code from it</li>
<li>Scan it with phone (so far, QR Droid and Barcode Scanner work)</li>
<li>Take phone to offline wallet</li>
<li>Display QR code for unsigned transaction on phone (using history in QR droid works well)</li>
<li>Scan using webcam in offline wallet computer (I successfully did this with the zbar Linux application in Ubuntu - package details to follow)</li>
<li>Sign tx with offline armory</li>
<li>Display QR code for signed tx (more packages to follow)</li>
<li>Scan with new android app to broadcast</li>
</ul>

<p>This is almost done - the app is currently peering with bitcoin nodes and will scan the QR code and send it to a broadcasting activity, but the broadcast part and the parsing of the armory format remains.</p>

<p><strong>UPDATE: Implemented.  <a href="http://www.youtube.com/watch?v=ZlSC3mLjNSg" rel="noreferrer">Watch the video</a></strong></p>

<p>Python code <a href="https://github.com/hank/armorycompanion-python" rel="noreferrer">here</a></p>

<p>Android app code <a href="https://github.com/hank/armorycompanion" rel="noreferrer">here</a></p>
 2306: <p>You're correct that the offline node needs to how to claim its funds, so it can't be totally isolated. </p>

<p>Currently, the most mature offline wallet solution is through a client called <a href="http://bitcoinarmory.com/" rel="noreferrer">Bitcoin Armory</a>. Here's what your workflow looks like with offline wallets:</p>

<blockquote>
  <p>Online node creates transaction -> USB key -> Offline computer signs transaction -> USB key -> Online node broadcasts transaction</p>
</blockquote>

<p>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.</p>

<p>Download:</p>

<ul>
<li><a href="https://bitcoinarmory.com/get-armory/" rel="noreferrer">Windows/Linux</a></li>
<li><a href="https://bitcointalk.org/index.php?topic=156250.msg1655941#msg1655941" rel="noreferrer">Mac</a> - Beta</li>
</ul>

<p><a href="https://bitcoinarmory.com/tutorials/armory-advanced-features/offline-wallets/" rel="noreferrer">This page</a> explains offline transactions in greater detail. </p>
