en:ibm:prcp:kbd:setcp

This is an old revision of the document!


KbdSetCp

Bindings:

C:

#define INCL_KBD
 
USHORT  rc = KbdSetCp(Reserved, CodePageID, KbdHandle);
 
USHORT           Reserved;      /* Reserved (must be zero) */
USHORT           CodePageID;    /* code page ID */
HKBD             KbdHandle;     /* Keyboard handle */
 
USHORT           rc;            /* return code */

MASM:

EXTRN  KbdSetCp:FAR
INCL_KBD            EQU 1
 
PUSH   WORD    Reserved      ;Reserved (must be zero)
PUSH   WORD    CodePageID    ;code page ID
PUSH   WORD    KbdHandle     ;Keyboard handle
CALL   KbdSetCp
 
Returns WORD

This call allows the process to set the code page used to translate key strokes received from the keyboard.

KbdSetCp (Reserved, CodePageID, KbdHandle)

Reserved (USHORT) - input Reserved and must be set to zero.

CodePageID (USHORT) - input CodePageID represents a code-page ID in the application's data area. The code-page ID must be equivalent to one of the code-page IDs specified on the CONFIG.SYS CODEPAGE = statement or 0000. If the code-page ID does not match one of the IDs on the CODEPAGE = statement, an error results. The code-page word must have one of these code-page identifiers:

Identifier Description
0 Resident code page
437 IBM PC US 437
850 Multilingual
860 Portuguese
863 Canadian-French
865 Nordic.

KbdHandle (HKBD) - input Default keyboard or the logical keyboard.

rc (USHORT) - return Return code descriptions are:

0 NO_ERROR
439 ERROR_KBD_INVALID_HANDLE
445 ERROR_KBD_FOCUS_REQUIRED
447 ERROR_KBD_KEYBOARD_BUSY
448 ERROR_KBD_INVALID_CODEPAGE
464 ERROR_KBD_DETACHED
504 ERROR_KBD_EXTENDED_SG

Remarks

Keyboard code page support is not available without the DEVINFO=KBD statement in the CONFIG.SYS file. Refer to IBM Operating System/2 Standard Edition Version 1.2 Using Advanced Features for a complete description of CODEPAGE and DEVINFO.