home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / famapi.zip / INCLUDE.ZIP / OS2 / KBDCALLS.H < prev    next >
C/C++ Source or Header  |  1993-01-13  |  3KB  |  108 lines

  1. //
  2. //    *******************************************************************
  3. //      JdeBP C++ Library Routines      General Public Licence v1.00
  4. //          Copyright (c) 1991,1992  Jonathan de Boyne Pollard
  5. //    *******************************************************************
  6. //
  7.  
  8. //
  9. //  OS/2 KBD API
  10. //
  11.  
  12. #ifndef _KBDKEYINFO_DEFINED
  13. typedef struct {
  14.         unsigned char    chChar;
  15.         unsigned char    chScan;
  16.         unsigned char    fbStatus;
  17.         unsigned char    bNlsShift;
  18.         unsigned short   fsState;
  19.         unsigned long    time;
  20. } KBDKEYINFO;
  21. #define _KBDKEYINFO_DEFINED
  22. #endif
  23.  
  24. #ifndef _STRINGINBUF_DEFINED
  25. typedef struct {
  26.         unsigned short cb;
  27.         unsigned short cchIn;
  28. } STRINGINBUF;
  29. #define _STRINGINBUF_DEFINED
  30. #endif
  31.  
  32. #ifndef _KBDINFO_DEFINED
  33. typedef struct {
  34.         unsigned short cb;
  35.         unsigned short fsMask;
  36.         unsigned short chTurnAround;
  37.         unsigned short fsInterim;
  38.         unsigned short fsState;
  39. }KBDINFO;
  40. #define _KBDINFO_DEFINED
  41. #endif
  42.  
  43. #ifndef _KBDTRANSLATE_DEFINED
  44. typedef struct {
  45.         unsigned char      chChar;
  46.         unsigned char      chScan;
  47.         unsigned char      fbStatus;
  48.         unsigned char      bNlsShift;
  49.         unsigned short     fsState;
  50.         unsigned long      time;
  51.         unsigned short     fsDD;
  52.         unsigned short     fsXlate;
  53.         unsigned short     fsShift;
  54.         unsigned short     sZero;
  55. } KBDTRANSLATE;
  56. #define _KBDTRANSLATE_DEFINED
  57. #endif
  58.  
  59. extern "C" {
  60.  
  61.     USHORT _APICALL KbdRegister (unsigned char far *, unsigned char far *, unsigned long);
  62.  
  63. #define KR_KBDCHARIN        0x00000001
  64. #define KR_KBDPEEK          0x00000002
  65. #define KR_KBDFLUSHBUFFER   0x00000004
  66. #define KR_KBDGETSTATUS     0x00000008
  67. #define KR_KBDSETSTATUS     0x00000010
  68. #define KR_KBDSTRINGIN      0x00000020
  69. #define KR_KBDOPEN          0x00000040
  70. #define KR_KBDCLOSE         0x00000080
  71. #define KR_KBDGETFOCUS      0x00000100
  72. #define KR_KBDFREEFOCUS     0x00000200
  73. #define KR_KBDGETCP         0x00000400
  74. #define KR_KBDSETCP         0x00000800
  75. #define KR_KBDXLATE         0x00001000
  76. #define KR_KBDSETCUSTXT     0x00002000
  77.  
  78.     USHORT _APICALL KbdDeRegister ( void );
  79.  
  80.     USHORT _APICALL KbdCharIn ( KBDKEYINFO far *, unsigned short, unsigned short );
  81.     USHORT _APICALL KbdPeek ( KBDKEYINFO far *, unsigned short );
  82.  
  83. #define IO_WAIT     0
  84. #define IO_NOWAIT   1
  85.  
  86.     USHORT _APICALL KbdStringIn ( char far *, STRINGINBUF far *, unsigned short, unsigned short );
  87.  
  88.     USHORT _APICALL KbdFlushBuffer ( unsigned short );
  89.  
  90.     USHORT _APICALL KbdSetStatus ( KBDINFO far *, unsigned short );
  91.     USHORT _APICALL KbdGetStatus ( KBDINFO far *, unsigned short );
  92.  
  93.     USHORT _APICALL KbdSetCp ( unsigned short, unsigned short, unsigned short);
  94.     USHORT _APICALL KbdGetCp ( unsigned long, unsigned short far *, unsigned short );
  95.  
  96.     USHORT _APICALL KbdOpen ( unsigned short far * );
  97.     USHORT _APICALL KbdClose ( unsigned short );
  98.  
  99.     USHORT _APICALL KbdGetFocus ( unsigned short, unsigned short );
  100.     USHORT _APICALL KbdFreeFocus ( unsigned short );
  101.  
  102.     USHORT _APICALL KbdSynch ( unsigned short );
  103.  
  104.     USHORT _APICALL KbdXlate ( KBDTRANSLATE far *, unsigned short );
  105.     USHORT _APICALL KbdSetCustXt ( unsigned short far *, unsigned short );
  106.  
  107. }
  108.