be動詞は受動態、has+過去分詞は能動態の現在完了。主語が違うんだからそれがタイミングで使い分けられるわけがない。
boolだと三人称単数になるのは、その文章に対して正しい(true)か正しくない(false)かを返すから。
基本的には親となるクラスが主語でそれに対する動詞、で引数が目的語。
クラスとなるオブジェクトがKeyなら、key.isPressed()。
直後感(?)を出したいなら、まぁ hasBeenPressed() くらいか?
クラスがkeyそのものではなく引数だったら(今回の場合)、それをメソッド名に含めて isKeyPressed(key)もしくは、hasKeyBeenPressed(key)。
hasKeyPressedだったら「Keyが(何かを)プレスしたか」、になる。ナンセンス。

>>60 で良いと思う。

どっか間違えてたらツッコミよろしく。