Виртуальные коды клавиш и аппаратные коды клавиш отличаются по своему назначению и способу определения. 14
Виртуальные коды клавиш идентифицируют нажатую или отпущенную клавишу и не зависят от аппаратной реализации клавиатуры. 14 Они определяют функцию клавиши, а не её физическое расположение. 2 Например, Ctrl исполнен в виде двух физических клавиш, но их виртуальный код — один и тот же. 2
Аппаратные коды клавиш (скан-коды) генерируются клавиатурным контроллером при нажатии на клавишу. 12 Это уникальное число, однозначно определяющее нажатую клавишу, но не ASCII-код. 2
Таким образом, виртуальные коды определяют функцию клавиши, а аппаратные — само нажатие клавиши независимо от активной раскладки клавиатуры. 5