msos2.hlp (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
KBDTRANS (1.2)
Changes                                             Up Next Previous
────────────────────────────────────────────────────────────────────────────
 
#define INCL_KBD
 
typedef struct _KBDTRANS {    /* kbxl */
    UCHAR  chChar;
    UCHAR  chScan;
    UCHAR  fbStatus;
    UCHAR  bNlsShift;
    USHORT fsState;
    ULONG  time;
    USHORT fsDD;
    USHORT fsXlate;
    USHORT fsShift;
    USHORT sZero;
} KBDTRANS;
 
The KBDTRANS structure contains translated character information.
 
Field      Description
────────────────────────────────────────────────────────────────────────────
 
chChar     Specifies the character value of the translated scan code. The
           function copies the value to this field before returning.
 
chScan     Specifies the scan code of the keystroke to be translated. This
           field must be set before the function is called.
 
fbStatus   Specifies the state of the returned scan code. It can be any
           combination of the following values:
 
           Value                      Meaning
           ─────────────────────────────────────────────────────────────────
           KBDTRF_SHIFT_KEY_IN        Shift key received (valid only in
                                      binary mode when shift reporting is
                                      turned on).
 
           KBDTRF_CONVERSION_REQUEST  Conversion requested.
 
           KBDTRF_FINAL_CHAR_IN       Final character received.
 
           KBDTRF_INTERIM_CHAR_IN     Interim character received.
 
bNlsShift  Specifies a reserved value; must be zero.
 
fsState    Specifies the state of the shift keys. It can be one of the
           following values:
 
           Value                 Meaning
           ─────────────────────────────────────────────────────────────────
           KBDSTF_RIGHTSHIFT     Right SHIFT key down.
 
           KBDSTF_LEFTSHIFT      Left SHIFT key down.
 
           KBDSTF_CONTROL        Either CTRL key down.
 
           KBDSTF_ALT            Either ALT key down.
 
           KBDSTF_SCROLLLOCK_ON  SCROLL LOCK mode turned on.
 
           KBDSTF_NUMLOCK_ON     NUMLOCK mode turned on.
 
           KBDSTF_CAPSLOCK_ON    CAPSLOCK mode turned on.
 
           KBDSTF_INSERT_ON      INS mode turned on.
 
           KBDSTF_LEFTCONTROL    Left CTRL key down.
 
           KBDSTF_LEFTALT        Left ALT key down.
 
           KBDSTF_RIGHTCONTROL   Right CTRL key down.
 
           KBDSTF_RIGHTALT       Right ALT key down.
 
           KBDSTF_SCROLLLOCK     SCROLL LOCK key down.
 
           KBDSTF_NUMLOCK        NUMLOCK key down.
 
           KBDSTF_CAPSLOCK       CAPSLOCK key down.
 
           KBDSTF_SYSREQ         SYSREQ key down.
 
time       Specifies the time stamp of the keystroke (in milliseconds).
 
fsDD       Defined for monitor packets. For more information, see the
           DosMonReg function.
 
fsXlate    Specifies the translation flags. If this field is 0x0000,
           translation is incomplete. If it is 0x0001, translation is
           complete.
 
fsShift    Specifies the state of translation across successive calls.
           Initially, this field should be zero. It should be reset to zero
           when the caller wants to start a new translation. Note that it
           may take several calls to the KbdXlate function to complete a
           character, so this field should not be changed unless a new
           translation is desired. This field is cleared when translation is
           complete.
 
sZero      Specifies a reserved value; must be zero.
 
See Also
 
DosMonReg, KbdXlate