en:ibm:prcp:kbd:setcp

KbdSetCp

Bindings: C, MASM

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.

C bindings

#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 bindings

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