Is it intentional that the check for K uses the _pressed variant? This will only register during the first frame of you holding the key down.
If it's intentional: That's likely not GM not recognizing it, but your keyboard not recognizing it. Cheap keyboards often are manufactured in a way that makes it impossible for specific keys to be held down together and still have both of them register. If your keyboard is a cheap low-quality one, this is likely the cause. The opposite of this - absence of such issues - is referred to as n-key rollover (as in, you can press any amount of keys at the same time and they will all register correctly).
You can (roughly) test this by holding down both shift keys and typing the test text "the quick brown fox jumps over the lazy dog" (this contains all standard letters). If the end result of that is anything other than "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG", your keyboard is lacking proper rollover and will therefore fail to register certain keys being pressed together correctly. The only solution in this case is to buy a better keyboard, or to use different keys (for the time being) - preferably make them customizable by the player, so that they do not get hung up on similar issues as you, but with other keys.
Please let me know how the quick brown fox check goes - if this fails, we can be almost certain that the problem is not with your code. If it comes up successful, we may need to take a look at your code as the problem might originate from there after all in that case.