This is an old revision of the document!
Table of Contents
This is part of Family API which allow to create dual-os version of program runs under OS/2 and DOS
Note: This is legacy API call. It is recommended to use 32-bit equivalent
KbdGetFocus
This call binds the logical keyboard to the physical keyboard.
Syntax
KbdGetFocus (IOWait, KbdHandle)
Parameters
Return Code
rc (USHORT) - return:Return code descriptions are:
- 0 NO_ERROR
- 439 ERROR_KBD_INVALID_HANDLE
- 446 ERROR_KBD_FOCUS_ALREADY_ACTIVE
- 447 ERROR_KBD_KEYBOARD_BUSY
- 464 ERROR_KBD_DETACHED
- 504 ERROR_KDB_EXTENDED_SG
The keyboard handle identifies which logical keyboard to bind to. If the physical keyboard is not bound to a logical or default keyboard, then the bind proceeds immediately. The logical keyboard, identified by the handle, receives all further key strokes from the physical keyboard. If the physical keyboard is already in use by a logical keyboard, then the thread issuing KbdGetFocus waits until the bond can be made. Waiting threads do not execute in any definable order.
Bindings
C
#define INCL_KBD USHORT rc = KbdGetFocus(IOWait, KbdHandle); USHORT IOWait; /* Indicate if wait */ HKBD KbdHandle; /* Keyboard handle */ USHORT rc; /* return code */
MASM
EXTRN KbdGetFocus:FAR INCL_KBD EQU 1 PUSH WORD IOWait ;Indicate if wait PUSH WORD KbdHandle ;Keyboard handle CALL KbdGetFocus Returns WORD