На исходном IBM PC при каждом нажатии или отпускании клавиши клавиатура отправляла байт, верхний бит которого указывал, была ли клавиша нажата или отпущена, а младшие 7 битов идентифицируют клавишу. На более поздних клавиатурах, в которых добавлены такие вещи, как дополнительные клавиши управления, нажатие или отпускание одной из клавиш управления приведет к тому, что клавиатура отправит префиксный байт, указывающий «что-то было сделано с дублированной клавишей; действие воздействовало на вторую», за которой следует « нажата управляющая клавиша ". Попытка эффективно справиться с этим была намного более неприятной, чем просто иметь два кода для управляющего ключа, но последний подход привел бы к тому, что дополнительный управляющий ключ стал бы непригодным для использования любым программным обеспечением, которое не знает, что представляет его код. ,
USB-клавиатуры используют несколько иной подход; они сообщают, какие клавиши были нажаты в любой момент времени, максимум до четырех, и указывают, когда измененная комбинация клавиш изменяется, но они не сообщают об отдельных событиях, как это делали старые клавиатуры.
В зависимости от того, как игры будут взаимодействовать с клавиатурой, игры могут ожидать события нажатия клавиши или отпускания клавиши, которые не соответствуют чему-либо, что генерирует клавиатура USB.