I found a way to bypass the onscreen keyboard at my online bank. However both the AJAX and PHP versions I came up with had problems. The AJAX one doesn’t work from a web server. The PHP one works nicely on my Linux machine at work but it seems that PHP on Mac OS X can’t open SSL connections, so it doesn’t work at home. Both solutions also fail to handle the “pay anyone” keyboard, which comes up when you try to do a “pay anyone” operation. I went and looked at my solution again and came up with this javascriptlet. Save that link as a bookmark and then open it when you get an on-screen keyboard (it works with both the login and “pay anyone” keyboards).
Update 10 July 2006
While I was sleeping, most browsers stopped supporting javasciptlets. Luckily, there’s Greasemonkey for Firefox. I’ve adapted the javascript to run in this environment. Once you’ve installed Greasemonkey, click on Heritage Keyboard Killer and install it.
Similar environments exist for Safari (Creammonkey) and IE (Trixie) but I haven’t tested the code with them. Unfortunately, my primary browser at work (Konqueror) doesn’t do Greasemonkey or javascriptlets. I might just move back to Firefox.
Update 2 July 2007
As a result on an interesting phone call the links have been removed.