I can't speak for all banks, but I'm with Barclays in the UK, and their system makes keyloggers a non-issue in a similar way. I can login to "basic online banking" using a few things from memory (surname, online ID number, debit card number, date of birth and password all required), but to actually do anything (like send money to another account) I need to authenticate using a chip+pin machine that they sent me free of charge. I insert my debit card, enter my PIN, then it gives me an 8 digit number that's time-sensitive. Frankly, this annoys me, why can't the reader connect via USB to save me typing in that number?
And I know at least one American bank has the same thing (possibly Bank of America?), as a friend of mine was the guy who pretty much created all of it.