Now that the keyboard has switched to all uppercase, I'm surprised that this code is actually still here.  I wonder if IMERender.draw() handles this efficiently? If not, there should be a different function in render.js that just switches the case.  We shouldn't have to call draw() here, I think.