Вообще всегда приходит либо KeyChar, либо Key. Вроде бы об этом написано в тут и тут.
Key - это код виртуальной клавиши vkXXX. Он зависит от конкретной нажатой клавиши, при чем на разных платформах он приводится к виндовым эквивалентам.
KeyChar - это символ который может быть изображен где-нибудь в поле ввода. Он зависит от текущего языка, раскладки, IME, способа ввода (в числе прочего можно использовать голосовой ввод) и еще неизвестно чего, короче его подставляет система по не известным в общем случае правилам.
Сделано так специально, чтобы не путали и не пытались выводить в виде текста букву А, когда нажато сочетание клавиш Ctrl+A. Эти два параметра принципиально по разному обрабатываются.