en:docs:fapi:kbdregister

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

2021/09/17 04:47 · prokushev · 0 Comments
2021/08/20 03:18 · prokushev · 0 Comments

KbdRegister

This call registers a keyboard subsystem within a session.

Syntax

 KbdRegister (ModuleName, EntryPoint, FunctionMask)

Parameters

  • ModuleName (PSZ) - input : Address of the dynamic link module name. Maximum length is 9 bytes (including ASCIIZ terminator).
  • EntryPoint (PSZ) - input : Address of the dynamic link entry point name of a routine that receives control when any of the registered functions are called. Maximum length is 33 bytes (including ASCIIZ terminator).
  • FunctionMask (ULONG) - input : A bit mask where each bit identifies a keyboard function being registered. The bit values are:
Bit Description
31-15 Reserved, must be set to zero
14 KbdGetHWId
13 KbdSetCustXt
12 KbdXlate
11 KbdSetCp
10 KbdGetCp
9 KbdFreeFocus
8 KbdGetFocus
7 KbdClose
6 KbdOpen
5 KbdStringIn
4 KbdSetStatus
3 KbdGetStatus
2 KbdFlushBuffer
1 KbdPeek
0 KbdCharIn

Return Code

rc (USHORT) - return:Return code descriptions are:

  • 0 NO_ERROR
  • 408 ERROR_KBD_INVALID_ASCIIZ
  • 409 ERROR_KBD_INVALID_MASK
  • 410 ERROR_KBD_REGISTER
  • 464 ERROR_KBD_DETACHED
  • 504 ERROR_KBD_EXTENDED_SG

Remarks

There can be only one KbdRegister call outstanding for each session without an intervening KbdDeRegister. KbdDeRegister must be issued by the same process that issued the KbdRegister.

Bindings

C

#define INCL_KBD
 
USHORT  rc = KbdRegister(ModuleName, EntryPoint, FunctionMask);
 
PSZ     ModuleName;    /* Module name */
PSZ     EntryPoint;    /* Entry point name */
ULONG   FunctionMask;  /* Function mask */
 
USHORT  rc;            /* return code */

MASM

EXTRN  KbdRegister:FAR
INCL_KBD            EQU 1
 
PUSH@  ASCIIZ  ModuleName    ;Module name
PUSH@  ASCIIZ  EntryPoint    ;Entry point name
PUSH   DWORD   FunctionMask  ;Function mask
CALL   KbdRegister
 
Returns WORD