{{page>en:templates:fapiint}}
====== KbdSetCp ======
This call allows the process to set the code page used to translate key strokes received from the keyboard.
===== Syntax =====
KbdSetCp (Reserved, CodePageID, KbdHandle)
===== Parameters =====
* 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.
===== Return Code =====
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.
===== 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
{{page>en:templates:fapi}}