KbdGetHWId

Returns the attached keyboard's hardware-generated Identification value.

Syntax
KbdGetHWId (KeyboardID, KbdHandle)

Parameters

 * KeyboardID (PKBDHWID) - input : Pointer to the caller's data area.
 * KbdHandle (HKBD) - input : Word identifying the logical keyboard.

Return Code

 * rc (USHORT) - return:Return code descriptions are:
 * 0 NO_ERROR
 * 373 ERROR_KBD_PARAMETER
 * 447 ERROR_KBD_KEYBOARD_BUSY
 * 464 ERROR_KBD_DETACHED
 * 504 ERROR_KBD_EXTENDED_SG

Remarks
In past OS/2 releases, all keyboards could be supported by knowing the hardware family information available with keyboard IOCTL 77H. However, with the addition of the 122-key keyboard, recognition was not containable by hardware family information alone. The 122-key keyboard has a number of differences from other keyboards. Therefore, applications performing keystroke specific functions may need to determine specifically which keyboard is attached.

This function is of particular usefulness for applications providing Custom Translate Tables and mapping keyboard layouts.

C
 typedef struct _KBDHWID { USHORT length;      /* length in bytes of this structure */ USHORT kbd_id;      /* attached keyboard's hardware ID (returned) */ USHORT reserved1;   /* reserved (set to zero) */ USHORT reserved2;   /* reserved (set to zero) */ }KBDHWID;


 * 1) define INCL_KBD

USHORT rc = KbdGetHWId(KeyboardID, KbdHandle);

PKBDHWID  KeyboardID;  /* Keyboard ID structure (returned) */ HKBD      KbdHandle;   /* Keyboard handle  */

USHORT    rc;          /* return code */ 

MASM
 KBDHWID struc length;            dw  ? ;length in bytes of this structure kbd_id;            dw  ? ;attached keyboard's hardware ID (returned) reserved1;         dw  ? ;reserved (set to zero) reserved2;         dw  ? ;reserved (set to zero) KBDHWID ends

EXTRN KbdGetHWId:FAR INCL_KBD           EQU 1

PUSH@ OTHER KeyboardID      ;Keyboard ID structure (returned) PUSH WORD   KbdHandle       ;Keyboard handle CALL KbdGetHWId

Returns WORD 