As far as I remember the Fill.asm task is a bit under-specified. This is because it's not an important problem by itself, but rather a way to get a feel of how to program in HACK assembly.
That said, you do need to specify what you expect to happen when you press a key while the screen is being filled up. Are you just switching the color and continuing from the current position in the screen? Or perhaps you're switching the color and starting from the beginning? Or something else? Without knowing this, we don't know how your program is expected to work, so it's hard to "fix" or "finish" it for you.
That said, I guess that it doesn't change the color when you press a key. Think of when are you checking if a key is pressed. And what happens if the key is pressed at any other time?