19

On IBM keyboards, scan code sets 1 and 2 have a long make code and lack a break code for the Pause/Break key. Moreover, when Ctrl is pressed, the make code is different, although break code still doesn't exist.*

In scan code set 3 there does appear the break code, but this set isn't used much.

What was the reason for Pause/Break to be treated so specially to not even have a break code?


*See detailed tables in e.g. this spec for EM83053DH keyboard encoder. I've checked experimentally that description for Pause/Break is correct at least with set 2 active.

25

In scancode set 2, the "break" scancodes consist of the "make" scancodes prefixed by F0. This is consistent across nearly all the keys. Some keys include a modifier prefix in the Ex range as well, and this is repeated in the "break" sequence. Additionally some keys behave as if two keys are pressed at once, and thus include multiple F0 codes to ensure that both virtual keys are seen as released by the host PC.

The "make" scancode for the Pause/Break key, however, is E1 14 77 E1 F0 14 F0 77. Examining this closely, this is actually a combined "make" then "break" sequence for a composite scancode: E1 14 77, then E1 F0 14 F0 77. So when you press that key, it is seen as pressed only momentarily by the host PC, even if you hold it down.

Yes, this is a hopeless mess. I think it resulted from the gradual evolution of the PC keyboard through its early history. The USB-HID scancode set is completely different, this obviously being seen as an opportunity to discard the cruft.

  • 14
    It seems this is related to the fact that the 84-key AT keyboard didn't have a Pause key, but used Ctrl + Num Lock for the pause function. Codes 14 and 77 correspond to (left) Ctrl and Num Lock, respectively. So I bet this is some attempt at fooling old BIOSes into working with the Pause key. – hobbs Sep 7 at 8:39
  • Possibly it was done to simplify the controller firmware; if the make and break codes for Pause were separate events, the controller might have to keep track of whether the real state of keys 14 and 77 had changed between the make and the break. – john_e Sep 25 at 8:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.