evt.which en vez de evt.keyCode funciona en firefox y la mayoria de los navegadores.
Ahora la verdad es que el control de las teclas no es siempre tan simple ya que no todos los navegadores lanzan el mismo codigo ante el mismo evento. Es decir para algunos deberas evaluar en el "keydown", para otros en el "keypress" y todo dependiendiendo de la tecla que quisieras controlar.
Mejor explicado esta
aquí