Jump to content

KbdSetStatus (FAPI)

From EDM2
Revision as of 18:16, 11 December 2019 by Ak120 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This call sets the characteristics of the keyboard.

Syntax

KbdSetStatus (StatData, KbdHandle)

Parameters

StatData (PKBDINFO) - input
Address of the keyboard status structure
KbdHandle (HKBD) - input
Default keyboard or the logical keyboard.

Return Code

rc (USHORT) - return
Return code descriptions are:
  • 0 NO_ERROR
  • 376 ERROR_KBD_INVALID_LENGTH
  • 377 ERROR_KBD_INVALID_ECHO_MASK
  • 378 ERROR_KBD_INVALID_INPUT_MASK
  • 439 ERROR_KBD_INVALID_HANDLE
  • 445 ERROR_KBD_FOCUS_REQUIRED
  • 447 ERROR_KBD_KEYBOARD_BUSY
  • 464 ERROR_KBD_DETACHED
  • 504 ERROR_KBD_EXTENDED_SG

Remarks

Shift return (bit 8 in sysstate) must be disabled in ASCII mode.

KbdSetStatus is ignored for a Vio-windowed application.

Family API Considerations

Some options operate differently in the DOS mode than in the OS/2 mode. Therefore, the following restrictions apply to KbdSetStatus when coding in the DOS mode:

  • KbdSetStatus does not accept a bit mask of 10 (ASCII on, Echo Off).
  • Raw (binary) Mode and Echo On are not supported and return an error if requested.
  • KbdHandle is ignored.
  • Interim character is not supported.
  • Turnaround character is not supported.

Bindings

C

typedef struct _KBDINFO { /* kbst */
  USHORT cb;              /* length in bytes of this structure */
  USHORT fsMask;          /* bit mask of functions to be altered */
  USHORT chTurnAround;    /* define TurnAround character */
  USHORT fsInterim;       /* interim character flags */
  USHORT fsState;         /* shift states */
}KBDINFO;

#define INCL_KBD

USHORT  rc = KbdSetStatus(Structure, KbdHandle);

PKBDINFO   Structure;     /* Data structure */
HKBD       KbdHandle;     /* Keyboard Handle */

USHORT     rc;            /* return code */

MASM

KBDINFO struc
  kbst_cb           dw  ? ;length in bytes of this structure
  kbst_fsMask       dw  ? ;bit mask of functions to be altered
  kbst_chTurnAround dw  ? ;define TurnAround character
  kbst_fsInterim    dw  ? ;interim character flags
  kbst_fsState      dw  ? ;shift states
KBDINFO ends

EXTRN  KbdSetStatus:FAR
INCL_KBD            EQU 1

PUSH@  OTHER   Structure     ;Data structure
PUSH   WORD    KbdHandle     ;Keyboard Handle
CALL   KbdSetStatus

Returns WORD