00001 /* @(#)04 1.3 src/include/pos/keyboard.h, apicode, ptux1.2.0, 20 8/25/03 21:56:40 */ 00002 00003 /********************************************************************/ 00004 /* <keyboard.h> header file */ 00005 /* */ 00006 /* Licensed Materials - Property of IBM */ 00007 /* */ 00008 /* IBM Point of Sale Subsystem */ 00009 /* 73G0950 (C) Copyright IBM Corporation 1992, 2003 */ 00010 /* All rights reserved */ 00011 /* */ 00012 /* US Government Users Restricted Rights - */ 00013 /* Use, duplication, or disclosure restricted */ 00014 /* by GSA ADP Schedule Contract with IBM Corp. */ 00015 /* */ 00016 /********************************************************************/ 00017 00018 00019 #ifndef _H_POS_KEYBOARD 00020 #define _H_POS_KEYBOARD 1 00021 00022 /********************************************************************/ 00023 /* Values for the SUBTYPE field of ONLINE and OFFLINE messages. */ 00024 /********************************************************************/ 00025 00026 #define PosKBD_SUBTYPE_CHECKOUT_2 1 00027 #define PosKBD_SUBTYPE_MODIFIABLE_LAYOUT 2 00028 #define PosKBD_SUBTYPE_ANPOS_2 3 00029 #define PosKBD_SUBTYPE_PC_POS 4 00030 #define PosKBD_SUBTYPE_KEYBOARD_V 5 00031 #define PosKBD_SUBTYPE_PLU_KEYBOARD 6 00032 #define PosKBD_SUBTYPE_KEYBOARD_VI 7 00033 #define PosKBD_SUBTYPE_4685_K01 8 00034 #define PosKBD_SUBTYPE_SUREPOINT 10 00035 #define PosKBD_SUBTYPE_KEYBOARD_E 11 00036 #define PosKBD_SUBTYPE_4820_KEYPAD_NO_KEYS 12 00037 #define PosKBD_SUBTYPE_4820_KEYPAD 13 00038 #define PosKBD_SUBTYPE_CANPOS 14 00039 00040 00041 /********************************************************************/ 00042 /* The PosNdoubleKey and PosCDoubleKey macros below designed to */ 00043 /* allow you to create your own resource names. For example, */ 00044 /* PosNdoubleKey(01) will generate the string "PosNdoubleKey01". */ 00045 /********************************************************************/ 00046 00047 00048 /******************************/ 00049 /* PosKeyboard resource names */ 00050 /******************************/ 00051 00052 #define PosNkeyboardClick "keyboardClick" 00053 #define PosNkeyLock "keyLock" 00054 #define PosNkeyboardLightsOn "keyboardLightsOn" 00055 #define PosNscanCodeSet "scanCodeSet" 00056 #define PosNtoneFreq "toneFreq" 00057 #define PosNtoneDuration "toneDuration" 00058 #define PosNtoneVolume "toneVolume" 00059 #define PosNdoubleKey01 "doubleKey01" 00060 #define PosNdoubleKey02 "doubleKey02" 00061 #define PosNdoubleKey03 "doubleKey03" 00062 #define PosNdoubleKey04 "doubleKey04" 00063 #define PosNdoubleKey05 "doubleKey05" 00064 #define PosNdoubleKey06 "doubleKey06" 00065 #define PosNdoubleKey07 "doubleKey07" 00066 #define PosNdoubleKey08 "doubleKey08" 00067 #define PosNdoubleKey09 "doubleKey09" 00068 #define PosNdoubleKey10 "doubleKey10" 00069 #define PosNdoubleKey11 "doubleKey11" 00070 #define PosNdoubleKey12 "doubleKey12" 00071 #define PosNdoubleKey13 "doubleKey13" 00072 #define PosNdoubleKey14 "doubleKey14" 00073 #define PosNdoubleKey15 "doubleKey15" 00074 #define PosNdoubleKey16 "doubleKey16" 00075 #define PosNdoubleKey17 "doubleKey17" 00076 #define PosNdoubleKey18 "doubleKey18" 00077 #define PosNdoubleKey19 "doubleKey19" 00078 #define PosNdoubleKey20 "doubleKey20" 00079 #define PosNdoubleKey21 "doubleKey21" 00080 #define PosNdoubleKey22 "doubleKey22" 00081 #define PosNdoubleKey23 "doubleKey23" 00082 #define PosNdoubleKey24 "doubleKey24" 00083 #define PosNdoubleKey25 "doubleKey25" 00084 #define PosNdoubleKey26 "doubleKey26" 00085 #define PosNdoubleKey27 "doubleKey27" 00086 #define PosNdoubleKey28 "doubleKey28" 00087 #define PosNdoubleKey29 "doubleKey29" 00088 #define PosNdoubleKey30 "doubleKey30" 00089 #define PosNdoubleKey31 "doubleKey31" 00090 #define PosNdoubleKey32 "doubleKey32" 00091 #define PosNdoubleKey33 "doubleKey33" 00092 #define PosNdoubleKey34 "doubleKey34" 00093 #define PosNdoubleKey35 "doubleKey35" 00094 #define PosNdoubleKey36 "doubleKey36" 00095 #define PosNdoubleKey37 "doubleKey37" 00096 #define PosNdoubleKey38 "doubleKey38" 00097 #define PosNdoubleKey39 "doubleKey39" 00098 #define PosNdoubleKey40 "doubleKey40" 00099 #define PosNdoubleKey41 "doubleKey41" 00100 #define PosNdoubleKey42 "doubleKey42" 00101 #define PosNdoubleKey43 "doubleKey43" 00102 #define PosNdoubleKey44 "doubleKey44" 00103 #define PosNdoubleKey45 "doubleKey45" 00104 #define PosNdoubleKey46 "doubleKey46" 00105 #define PosNdoubleKey47 "doubleKey47" 00106 #define PosNdoubleKey48 "doubleKey48" 00107 #define PosNdoubleKey49 "doubleKey49" 00108 #define PosNdoubleKey50 "doubleKey50" 00109 #define PosNdoubleKey51 "doubleKey51" 00110 #define PosNdoubleKey52 "doubleKey52" 00111 #define PosNdoubleKey53 "doubleKey53" 00112 #define PosNdoubleKey54 "doubleKey54" 00113 #define PosNdoubleKey55 "doubleKey55" 00114 #define PosNdoubleKey56 "doubleKey56" 00115 #define PosNdoubleKey57 "doubleKey57" 00116 #define PosNdoubleKey58 "doubleKey58" 00117 #define PosNdoubleKey59 "doubleKey59" 00118 #define PosNdoubleKey60 "doubleKey60" 00119 #define PosNfatFingerTimeOut "fatFingerTimeOut" 00120 #define PosNnumpadLocation "numpadLocation" 00121 #define PosNnumpadStyle "numpadStyle" 00122 #define PosNnumpadZero "numpadZero" 00123 #define PosNtypematicDelay "typematicDelay" 00124 #define PosNtypematicFreq "typematicFreq" 00125 00126 00127 /********************************/ 00128 /* PosKeyboard resource classes */ 00129 /********************************/ 00130 00131 #define PosCKeyLock "KeyLock" 00132 #define PosCKeyboardClick "KeyboardClick" 00133 #define PosCKeyboardLightsOn "KeyboardLightsOn" 00134 #define PosCScanCodeSet "ScanCodeSet" 00135 #define PosCToneFreq "ToneFreq" 00136 #define PosCToneDuration "ToneDuration" 00137 #define PosCToneVolume "ToneVolume" 00138 #define PosCDoubleKey01 "DoubleKey01" 00139 #define PosCDoubleKey02 "DoubleKey02" 00140 #define PosCDoubleKey03 "DoubleKey03" 00141 #define PosCDoubleKey04 "DoubleKey04" 00142 #define PosCDoubleKey05 "DoubleKey05" 00143 #define PosCDoubleKey06 "DoubleKey06" 00144 #define PosCDoubleKey07 "DoubleKey07" 00145 #define PosCDoubleKey08 "DoubleKey08" 00146 #define PosCDoubleKey09 "DoubleKey09" 00147 #define PosCDoubleKey10 "DoubleKey10" 00148 #define PosCDoubleKey11 "DoubleKey11" 00149 #define PosCDoubleKey12 "DoubleKey12" 00150 #define PosCDoubleKey13 "DoubleKey13" 00151 #define PosCDoubleKey14 "DoubleKey14" 00152 #define PosCDoubleKey15 "DoubleKey15" 00153 #define PosCDoubleKey16 "DoubleKey16" 00154 #define PosCDoubleKey17 "DoubleKey17" 00155 #define PosCDoubleKey18 "DoubleKey18" 00156 #define PosCDoubleKey19 "DoubleKey19" 00157 #define PosCDoubleKey20 "DoubleKey20" 00158 #define PosCDoubleKey21 "DoubleKey21" 00159 #define PosCDoubleKey22 "DoubleKey22" 00160 #define PosCDoubleKey23 "DoubleKey23" 00161 #define PosCDoubleKey24 "DoubleKey24" 00162 #define PosCDoubleKey25 "DoubleKey25" 00163 #define PosCDoubleKey26 "DoubleKey26" 00164 #define PosCDoubleKey27 "DoubleKey27" 00165 #define PosCDoubleKey28 "DoubleKey28" 00166 #define PosCDoubleKey29 "DoubleKey29" 00167 #define PosCDoubleKey30 "DoubleKey30" 00168 #define PosCDoubleKey31 "DoubleKey31" 00169 #define PosCDoubleKey32 "DoubleKey32" 00170 #define PosCDoubleKey33 "DoubleKey33" 00171 #define PosCDoubleKey34 "DoubleKey34" 00172 #define PosCDoubleKey35 "DoubleKey35" 00173 #define PosCDoubleKey36 "DoubleKey36" 00174 #define PosCDoubleKey37 "DoubleKey37" 00175 #define PosCDoubleKey38 "DoubleKey38" 00176 #define PosCDoubleKey39 "DoubleKey39" 00177 #define PosCDoubleKey40 "DoubleKey40" 00178 #define PosCDoubleKey41 "DoubleKey41" 00179 #define PosCDoubleKey42 "DoubleKey42" 00180 #define PosCDoubleKey43 "DoubleKey43" 00181 #define PosCDoubleKey44 "DoubleKey44" 00182 #define PosCDoubleKey45 "DoubleKey45" 00183 #define PosCDoubleKey46 "DoubleKey46" 00184 #define PosCDoubleKey47 "DoubleKey47" 00185 #define PosCDoubleKey48 "DoubleKey48" 00186 #define PosCDoubleKey49 "DoubleKey49" 00187 #define PosCDoubleKey50 "DoubleKey50" 00188 #define PosCDoubleKey51 "DoubleKey51" 00189 #define PosCDoubleKey52 "DoubleKey52" 00190 #define PosCDoubleKey53 "DoubleKey53" 00191 #define PosCDoubleKey54 "DoubleKey54" 00192 #define PosCDoubleKey55 "DoubleKey55" 00193 #define PosCDoubleKey56 "DoubleKey56" 00194 #define PosCDoubleKey57 "DoubleKey57" 00195 #define PosCDoubleKey58 "DoubleKey58" 00196 #define PosCDoubleKey59 "DoubleKey59" 00197 #define PosCDoubleKey60 "DoubleKey60" 00198 #define PosCFatFingerTimeOut "FatFingerTimeOut" 00199 #define PosCNumpadLocation "NumpadLocation" 00200 #define PosCNumpadStyle "NumpadStyle" 00201 #define PosCNumpadZero "NumpadZero" 00202 #define PosCTypematicDelay "TypematicDelay" 00203 #define PosCTypematicFreq "TypematicFreq" 00204 00205 00206 /******************************************************************/ 00207 /* NOTE: The PosNhotKeys, PosNnumLock, PosNscrLock, PosNtoneFreq, */ 00208 /* PosNtoneDuration, and PosNtoneVolume resources use values */ 00209 /* defined in pos/pos.h */ 00210 /******************************************************************/ 00211 00212 00213 /*******************************/ 00214 /* PosNkeyLock resource values */ 00215 /*******************************/ 00216 00217 #define PosPOSITION_UNKNOWN 0x00 00218 #define PosPOSITION_MANAGER 0x01 00219 #define PosPOSITION_OPERATOR 0x02 00220 #define PosPOSITION_INACTIVE 0x03 00221 #define PosPOSITION_SYSTEM 0x04 00222 #define PosPOSITION_PC_MODE 0x05 00223 #define PosPOSITION_CHECK 0x05 00224 #define PosPOSITION_ACCOUNT 0x06 00225 #define PosPOSITION_1 PosPOSITION_MANAGER 00226 #define PosPOSITION_2 PosPOSITION_OPERATOR 00227 00228 00229 /****************************************/ 00230 /* PosNkeyboardLightsOn resource values */ 00231 /****************************************/ 00232 00233 #define PosLIGHTS_OFF 0x00 00234 #define PosLIGHTS_WAIT 0x01 00235 #define PosLIGHTS_OFFLINE 0x02 00236 #define PosLIGHTS_MESSAGE_PENDING 0x04 00237 #define PosLIGHTS_NO_LABEL 0x08 00238 #define PosLIGHTS_READY 0x08 00239 00240 00241 /*************************************/ 00242 /* PosNkeyboardClick resource values */ 00243 /*************************************/ 00244 00245 #define PosSOFT 0x01 00246 #define PosLOUD 0x02 00247 00248 00249 /**************************************/ 00250 /* PosNnumpadLocation resource values */ 00251 /**************************************/ 00252 00253 #define PosLOCATION_1 0x01 00254 #define PosLOCATION_2 0x02 00255 #define PosLOCATION_3 0x03 00256 00257 /***********************************/ 00258 /* PosNnumpadStyle resource values */ 00259 /***********************************/ 00260 00261 #define PosTOUCHTONE_POS 0x00 00262 #define PosCALCULATOR_POS 0x01 00263 #define PosTOUCHTONE_STANDARD 0x02 00264 #define PosCALCULATOR_STANDARD 0x03 00265 00266 00267 /**********************************/ 00268 /* PosNnumpadZero resource values */ 00269 /**********************************/ 00270 00271 #define PosSINGLE_KEY 0x01 00272 #define PosDOUBLE_KEY 0x02 00273 00274 00275 /***********************************/ 00276 /* PosNscanCodeSet resource values */ 00277 /***********************************/ 00278 00279 #define PosSIO 0x00 00280 #define PosSYSTEM 0x01 00281 00282 00283 /***********************************/ 00284 /* ANPOS key scan code definitions */ 00285 /***********************************/ 00286 00287 #define ANPOSKey077ScanCode 0x6A 00288 #define ANPOSKey078ScanCode 0x6B 00289 #define ANPOSKey082ScanCode 0x6C 00290 #define ANPOSKey087ScanCode 0x6D 00291 #define ANPOSKey088ScanCode 0x6E 00292 #define ANPOSKey090ScanCode 0x6F 00293 #define ANPOSKey094ScanCode 0x77 00294 #define ANPOSKey095ScanCode 0x78 00295 #define ANPOSKey100ScanCode 0x7C 00296 #define ANPOSKey105ScanCode 0x7A 00297 #define ANPOSKey106ScanCode 0x7E 00298 #define ANPOSKey107ScanCode 0x5F 00299 #define ANPOSKey108ScanCode 0x71 00300 #define ANPOSKey110ScanCode 0x72 00301 #define ANPOSKey111ScanCode 0x63 00302 #define ANPOSKey112ScanCode 0x74 00303 #define ANPOSKey113ScanCode 0x75 00304 #define ANPOSKey114ScanCode 0x76 00305 00306 00307 /*************************************/ 00308 /* ANPOS_2 key scan code definitions */ 00309 /*************************************/ 00310 00311 #define ANPOS2Key077ScanCode 0x6A 00312 #define ANPOS2Key078ScanCode 0x6B 00313 #define ANPOS2Key082ScanCode 0x6C 00314 #define ANPOS2Key087ScanCode 0x6D 00315 #define ANPOS2Key088ScanCode 0x6E 00316 #define ANPOS2Key090ScanCode 0x6F 00317 #define ANPOS2Key095ScanCode 0x78 00318 #define ANPOS2Key099ScanCode 0x77 00319 #define ANPOS2Key100ScanCode 0x7C 00320 #define ANPOS2Key105ScanCode 0x7A 00321 #define ANPOS2Key106ScanCode 0x7E 00322 #define ANPOS2Key107ScanCode 0x5F 00323 #define ANPOS2Key108ScanCode 0x71 00324 #define ANPOS2Key124ScanCode 0x63 00325 #define ANPOS2Key125ScanCode 0x74 00326 #define ANPOS2Key126ScanCode 0x75 00327 #define ANPOS2Key127ScanCode 0x76 00328 #define ANPOS2Key128ScanCode 0x59 00329 #define ANPOS2Key135ScanCode 0x72 00330 00331 00332 /**********************************************/ 00333 /* POSM_KBD_STATUS_CHANGE definitions for mp1 */ 00334 /**********************************************/ 00335 00336 #define PosKEY_LOCK 0x0001 00337 00338 00339 /****************************************/ 00340 /* POSM_KBD_WM_CHAR definitions for mp2 */ 00341 /****************************************/ 00342 00343 #define PosKC_NONE 0x0000 /* Not used */ 00344 #define PosKC_CHAR 0x0001 00345 #define PosKC_VIRTUALKEY 0x0002 /* Not used */ 00346 #define PosKC_SCANCODE 0x0004 00347 #define PosKC_SHIFT 0x0008 00348 #define PosKC_CTRL 0x0010 00349 #define PosKC_ALT 0x0020 00350 #define PosKC_KEYUP 0x0040 00351 #define PosKC_PREVDOWN 0x0080 /* Not used */ 00352 #define PosKC_LONEKEY 0x0100 /* Not used */ 00353 #define PosKC_DEADKEY 0x0200 /* Not used */ 00354 #define PosKC_COMPOSITE 0x0400 /* Not used */ 00355 #define PosKC_INVALIDCOMP 0x0800 /* Not used */ 00356 #define PosKC_FATFINGER 0x8000 00357 00358 #endif /* _H_POS_KEYBOARD */