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.
#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 */
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