Я думаю, вам нужно было бы получить код операционной системы для вашего решения. ОС обрабатывает некоторые клавиши, отличные от обычных, поэтому вы не сможете получить пиковое значение при значении клавиши или даже при ее нажатии до того, как она отнимает контроль у вашего приложения.
Я видел подобные вещи еще во время написания подпрограмм BIOS машинного кода для CP / M. Windows гораздо сложнее, чем это. Я перестал писать код для управления оборудованием, когда начал использовать Windows 3.1.