Figure "Virtual Keyboard Management"
The PMShield transforms keystroke messages into calls to the Keyboard VDD. No buffering by the PMShield is necessary, since the Keyboard VDD already maintains its own virtual keyboard buffer.
The only keystrokes that require special handling by the PMShield are those that affect shift states.
There are two operations that a VDM can perform on its virtual keyboard:
When a VDM changes the repeat rate, whether it is in the foreground, background or windowed at that time, the repeat rate is changed for the whole system. Since the repeat rate is not a per-session attribute under OS/2, the PMShield need not be involved. The shift state information is per-VDM and is managed by the Keyboard VDD, in conjunction with the physical keyboard driver.