this and below for firefox are inefficient - a new object is created on every call to getKeyCode. Instead, these should be unchanging objects on the Browser object