==== KbdFreeFocus ==== **Bindings**: [[freefocus#C bindings|C]], [[freefocus#MASM bindings|MASM]] This call frees the logical-to-physical keyboard bond created by //[[en:ibm:prcp:kbd:getfocus|KbdGetFocus]]//. KbdFreeFocus (KbdHandle) //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 | |464 |ERROR_KBD_DETACHED | |504 |ERROR_KBD_EXTENDED_SG | **Remarks** //KbdFreeFocus// may be replaced by issuing //[[en:ibm:prcp:kbd:reg|KbdRegister]]//. Unlike other keyboard subsystem functions, the replaced //KbdFreeFocus// is called only if there is an outstanding focus. === C bindings === #define INCL_KBD USHORT rc = KbdFreeFocus(KbdHandle); HKBD KbdHandle; /* Keyboard handle */ USHORT rc; /* return code */ === MASM bindings === EXTRN KbdFreeFocus:FAR INCL_KBD EQU 1 PUSH WORD KbdHandle ;Keyboard handle CALL KbdFreeFocus Returns WORD