These APIs are included in your application by including the following definition in your application source file.
#define INCL_KBD #define INCL_VIO #define INCL_MOU
The following describes the implementation differences between the OS2Linux library and the real OS/2 keyboard manipulation APIs.
APIRET16 APIENTRY16 KbdCharIn(PKBDKEYINFO pkbci, USHORT fWait, HKBD hkbd);
APIRET16 APIENTRY16 KbdPeek (PKBDKEYINFO pkbci, HKBD hkbd);
APIRET16 APIENTRY16 KbdStringIn (PCH pch, PSTRINGINBUF pchIn, USHORT fsWait, HKBD hkbd);
APIRET16 APIENTRY16 KbdFlushBuffer (HKBD hkbd);
APIRET16 APIENTRY16 KbdSetStatus (PKBDINFO pkbdinfo, HKBD hkbd);
APIRET16 APIENTRY16 KbdGetStatus (PKBDINFO pkbdinfo, HKBD hdbd);
APIRET16 APIENTRY16 KbdSetCp (USHORT usReserved, USHORT pidCP, HKBD hdbd);
APIRET16 APIENTRY16 KbdGetCp (ULONG ulReserved, PUSHORT pidCP, HKBD hkbd);
APIRET16 APIENTRY16 KbdGetHWID (PKBDHWID pkbdhwid, HKBD hkbd);
APIRET16 APIENTRY16 KbdXlate (PKBDTRANS pkbdtrans, HKBD hkbd);
APIRET16 APIENTRY16 VioGetBuf (PULONG pLVB, PUSHORT pcbLVB, HVIO hvio);
APIRET16 APIENTRY16 VioGetCurPos (PUSHORT pusRow, PUSHORT pusColumn, HVIO hvio);
APIRET16 APIENTRY16 VioSetCurPos (USHORT usRow, USHORT usColumn, HVIO hvio);
APIRET16 APIENTRY16 VioGetCurType (PVIOCURSORINFO pvioCursorInfo, HVIO hvio);
APIRET16 APIENTRY16 VioSetCurType (PVIOCURSORINFO pvioCursorInfo, HVIO hvio);
APIRET16 APIENTRY16 VioGetMode (PVIOMODEINFO pvioModeInfo, HVIO hvio);
APIRET16 APIENTRY16 VioSetMode (PVIOMODEINFO pvioModeInfo, HVIO hvio);
APIRET16 APIENTRY16 VioReadCellStr (PCH pchCellStr, PUSHORT pcb, USHORT usRow, USHORT usColumn, HVIO hvio);
APIRET16 APIENTRY16 VioReadCharStr (PCH pchCellStr, PUSHORT pcb, USHORT usRow, USHORT usColumn, HVIO hvio);
APIRET16 APIENTRY16 VioWrtCellStr (PCCH pchCellStr, USHORT cb, USHORT usRow, USHORT usColumn, HVIO hvio);
APIRET16 APIENTRY16 VioWrtCharStr (PCCH pchStr, USHORT cb, USHORT usRow, USHORT usColumn, HVIO hvio);
APIRET16 APIENTRY16 VioScrollDn (USHORT usTopRow, USHORT usLeftCol, USHORT usBotRow, USHORT usRightCol, USHORT cbLines, PBYTE pCell, HVIO hvio)
APIRET16 APIENTRY16 VioScrollUp (USHORT usTopRow, USHORT usLeftCol, USHORT usBotRow, USHORT usRightCol, USHORT cbLines, PBYTE pCell, HVIO hvio);
APIRET16 APIENTRY16 VioScrollLf (USHORT usTopRow, USHORT usLeftCol, USHORT usBotRow, USHORT usRightCol, USHORT cbCol, PBYTE pCell, HVIO hvio);
APIRET16 APIENTRY16 VioScrollRt (USHORT usTopRow, USHORT usLeftCol, USHORT usBotRow, USHORT usRightCol, USHORT cbCol, PBYTE pCell, HVIO hvio);
APIRET16 APIENTRY16 VioWrtNAttr (__const__ BYTE *pAttr, USHORT cb, USHORT usRow, USHORT usColumn, HVIO hvio);
APIRET16 APIENTRY16 VioWrtNCell (__const__ BYTE *pCell, USHORT cb, USHORT usRow, USHORT usColumn, HVIO hvio);
APIRET16 APIENTRY16 VioWrtNChar (PCCH pchChar, USHORT cb, USHORT usRow, USHORT usColumn, HVIO hvio);
APIRET16 APIENTRY16 VioWrtTTY (PCCH pch, USHORT cb, HVIO hvio);
APIRET16 APIENTRY16 VioWrtCharStrAtt (PCCH pch, USHORT cb, USHORT usRow, USHORT usColumn, PBYTE pAttr, HVIO hvio);
APIRET16 APIENTRY16 VioShowBuf (USHORT offLVB, USHORT cb, HVIO hvio);
APIRET16 APIENTRY16 VioSetAnsi (USHORT fAnsi, HVIO hvio);
APIRET16 APIENTRY16 VioGetAnsi (PUSHORT pfAnsi, HVIO hvio);
APIRET16 APIENTRY16 VioSavRedrawWait (USHORT usRedrawInd, PUSHORT pNotifyType, USHORT usReserved);
APIRET16 APIENTRY16 VioSavRedrawUndo (USHORT usOwnerInd, USHORT usKillInd, USHORT usReserved);
APIRET16 APIENTRY16 VioModeWait (USHORT usReqType, PUSHORT pNotifyType, USHORT usReserved);
APIRET16 APIENTRY16 VioModeUndo (USHORT usOwnerInd, USHORT usKillInd, USHORT usReserved);
APIRET16 APIENTRY16 VioScrLock (USHORT fWait, PUCHAR pfNotLocked, HVIO hvio);
APIRET16 APIENTRY16 VioScrUnLock (HVIO hvio);
APIRET16 APIENTRY16 VioPopUp (PUSHORT pfWait, HVIO hvio);
APIRET16 APIENTRY16 VioEndPopUp (HVIO hvio);
APIRET16 APIENTRY16 VioGetConfig (USHORT usConfigId, PVIOCONFIGINFO pvioin, HVIO hvio);
APIRET16 APIENTRY16 VioGetCp (USHORT usReserved, PUSHORT pIdCodePage, HVIO hvio);
APIRET16 APIENTRY16 VioSetCp (USHORT usReserved, USHORT idCodePage, HVIO hvio);
APIRET16 APIENTRY16 VioGetState (PVOID pState, HVIO hvio);
APIRET16 APIENTRY16 VioSetState (CPVOID pState, HVIO hvio);
APIRET16 APIENTRY16 MouFlushQue (HMOU hmou);
APIRET16 APIENTRY16 MouGetPtrPos (PPTRLOC pmouLoc, HMOU hmou);
APIRET16 APIENTRY16 MouSetPtrPos (PPTRLOC pmouLoc, HMOU hmou);
APIRET16 APIENTRY16 MouSetPtrShape (PBYTE pBuf, PPTRSHAPE pmoupsInfo, HMOU hmou);
APIRET16 APIENTRY16 MouGetPtrShape (PBYTE pBuf, PPTRSHAPE pmoupsInfo, HMOU hmou);
APIRET16 APIENTRY16 MouGetDevStatus (PUSHORT pfsDevStatus, HMOU hmou);
APIRET16 APIENTRY16 MouGetNumButtons (PUSHORT pcButtons, HMOU hmou);
APIRET16 APIENTRY16 MouGetNumMickeys (PUSHORT pcMickeys, HMOU hmou);
APIRET16 APIENTRY16 MouReadEventQue (PMOUEVENTINFO pmouevEvent, PUSHORT pfWait, HMOU hmou);
APIRET16 APIENTRY16 MouGetNumQueEl (PMOUQUEINFO qmouqi, HMOU hmou);
APIRET16 APIENTRY16 MouGetEventMask (PUSHORT pfsEvents, HMOU hmou);
APIRET16 APIENTRY16 MouSetEventMask (PUSHORT pfsEvents, HMOU hmou);
APIRET16 APIENTRY16 MouGetScaleFact (PSCALEFACT pmouscFactors, HMOU hmou);
APIRET16 APIENTRY16 MouSetScaleFact (PSCALEFACT pmouscFactors, HMOU hmou);
APIRET16 APIENTRY16 MouRemovePtr (PNOPTRRECT pmourtRect, HMOU hmou);
APIRET16 APIENTRY16 MouDrawPtr (HMOU hmou);
APIRET16 APIENTRY16 MouSetDevStatus (PUSHORT pfsDevStatus, HMOU hmou);
APIRET16 APIENTRY16 MouGetThreshold(PTHRESHOLD pthreshold, HMOU hmou)'
APIRET16 APIENTRY16 MouSetThreshold(PTHRESHOLD pthreshold, HMOU hmou);