Artifact
2af4891eb1f5ce72b4b9e62eb941ba849d677986:
0000: 2f 2f 20 56 37 4b 65 79 62 6f 61 72 64 2e 63 70 // V7Keyboard.cp
0010: 70 3a 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f p: implementatio
0020: 6e 20 6f 66 20 74 68 65 20 43 56 37 4b 65 79 62 n of the CV7Keyb
0030: 6f 61 72 64 20 63 6c 61 73 73 2e 0d 0a 2f 2f 0d oard class...//.
0040: 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f .///////////////
0050: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0060: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0070: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0080: 2f 2f 2f 2f 2f 2f 2f 0d 0a 0d 0a 23 69 6e 63 6c ///////....#incl
0090: 75 64 65 20 22 56 37 4b 65 79 62 6f 61 72 64 2e ude "V7Keyboard.
00a0: 68 22 0d 0a 0d 0a 23 69 66 64 65 66 20 5f 44 45 h"....#ifdef _DE
00b0: 42 55 47 0d 0a 23 75 6e 64 65 66 20 54 48 49 53 BUG..#undef THIS
00c0: 5f 46 49 4c 45 0d 0a 73 74 61 74 69 63 20 63 68 _FILE..static ch
00d0: 61 72 20 54 48 49 53 5f 46 49 4c 45 5b 5d 3d 5f ar THIS_FILE[]=_
00e0: 5f 46 49 4c 45 5f 5f 3b 0d 0a 23 64 65 66 69 6e _FILE__;..#defin
00f0: 65 20 6e 65 77 20 44 45 42 55 47 5f 4e 45 57 0d e new DEBUG_NEW.
0100: 0a 23 65 6e 64 69 66 0d 0a 0d 0a 0d 0a 43 56 37 .#endif......CV7
0110: 4b 65 79 62 6f 61 72 64 2a 20 70 56 37 4b 65 79 Keyboard* pV7Key
0120: 62 6f 61 72 64 20 3d 20 4e 55 4c 4c 3b 0d 0a 43 board = NULL;..C
0130: 56 37 4b 65 79 62 6f 61 72 64 2a 20 43 56 37 4b V7Keyboard* CV7K
0140: 65 79 62 6f 61 72 64 3a 3a 47 65 74 56 37 4b 65 eyboard::GetV7Ke
0150: 79 62 6f 61 72 64 28 29 0d 0a 7b 0d 0a 09 69 66 yboard()..{...if
0160: 20 28 21 70 56 37 4b 65 79 62 6f 61 72 64 29 0d (!pV7Keyboard).
0170: 0a 09 09 70 56 37 4b 65 79 62 6f 61 72 64 20 3d ...pV7Keyboard =
0180: 20 28 43 56 37 4b 65 79 62 6f 61 72 64 2a 29 43 (CV7Keyboard*)C
0190: 42 4c 43 6f 6e 74 65 78 74 3a 3a 43 72 65 61 74 BLContext::Creat
01a0: 65 49 6e 73 74 61 6e 63 65 28 22 4b 65 79 62 6f eInstance("Keybo
01b0: 61 72 64 22 29 3b 0d 0a 09 72 65 74 75 72 6e 20 ard");...return
01c0: 70 56 37 4b 65 79 62 6f 61 72 64 3b 0d 0a 7d 0d pV7Keyboard;..}.
01d0: 0a 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f .../////////////
01e0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
01f0: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0200: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0210: 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a 2f 2f 20 43 6f /////////..// Co
0220: 6e 73 74 72 75 63 74 69 6f 6e 2f 44 65 73 74 72 nstruction/Destr
0230: 75 63 74 69 6f 6e 0d 0a 2f 2f 2f 2f 2f 2f 2f 2f uction..////////
0240: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0250: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0260: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f ////////////////
0270: 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 2f 0d 0a //////////////..
0280: 43 56 37 4b 65 79 62 6f 61 72 64 3a 3a 43 56 37 CV7Keyboard::CV7
0290: 4b 65 79 62 6f 61 72 64 28 29 0d 0a 7b 0d 0a 0d Keyboard()..{...
02a0: 0a 7d 0d 0a 0d 0a 43 56 37 4b 65 79 62 6f 61 72 .}....CV7Keyboar
02b0: 64 3a 3a 7e 43 56 37 4b 65 79 62 6f 61 72 64 28 d::~CV7Keyboard(
02c0: 29 0d 0a 7b 0d 0a 0d 0a 7d 0d 0a 0d 0a 42 4c 5f )..{....}....BL_
02d0: 49 4e 49 54 5f 43 4f 4e 54 45 58 54 28 43 56 37 INIT_CONTEXT(CV7
02e0: 4b 65 79 62 6f 61 72 64 29 3b 0d 0a 0d 0a 42 4f Keyboard);....BO
02f0: 4f 4c 20 43 56 37 4b 65 79 62 6f 61 72 64 3a 3a OL CV7Keyboard::
0300: 47 65 74 4b 65 79 53 74 61 74 65 28 43 56 61 6c GetKeyState(CVal
0310: 75 65 26 20 72 65 74 56 61 6c 2c 20 43 56 61 6c ue& retVal, CVal
0320: 75 65 2a 2a 20 70 70 50 61 72 61 6d 73 29 0d 0a ue** ppParams)..
0330: 7b 0d 0a 09 53 48 4f 52 54 20 73 74 61 74 65 20 {...SHORT state
0340: 3d 20 3a 3a 47 65 74 4b 65 79 53 74 61 74 65 28 = ::GetKeyState(
0350: 70 70 50 61 72 61 6d 73 5b 30 5d 2d 3e 47 65 74 ppParams[0]->Get
0360: 4e 75 6d 65 72 69 63 28 29 29 3b 0d 0a 09 72 65 Numeric());...re
0370: 74 56 61 6c 20 3d 20 48 49 42 59 54 45 28 73 74 tVal = HIBYTE(st
0380: 61 74 65 29 20 3f 20 31 4c 20 3a 20 30 4c 3b 0d ate) ? 1L : 0L;.
0390: 0a 09 2a 70 70 50 61 72 61 6d 73 5b 31 5d 20 3d ..*ppParams[1] =
03a0: 20 4c 4f 42 59 54 45 28 73 74 61 74 65 29 20 3f LOBYTE(state) ?
03b0: 20 31 4c 20 3a 20 30 4c 3b 0d 0a 09 72 65 74 75 1L : 0L;...retu
03c0: 72 6e 20 54 52 55 45 3b 0d 0a 7d 0d 0a 42 4f 4f rn TRUE;..}..BOO
03d0: 4c 20 43 56 37 4b 65 79 62 6f 61 72 64 3a 3a 47 L CV7Keyboard::G
03e0: 65 74 4b 65 79 53 74 61 74 65 5f 47 65 74 44 65 etKeyState_GetDe
03f0: 66 56 61 6c 28 69 6e 74 20 6e 50 61 72 61 6d 2c fVal(int nParam,
0400: 20 43 56 61 6c 75 65 2a 20 70 56 61 6c 75 65 29 CValue* pValue)
0410: 63 6f 6e 73 74 0d 0a 7b 0d 0a 09 69 66 20 28 6e const..{...if (n
0420: 50 61 72 61 6d 20 3d 3d 20 31 29 0d 0a 09 7b 0d Param == 1)...{.
0430: 0a 09 09 70 56 61 6c 75 65 2d 3e 52 65 73 65 74 ...pValue->Reset
0440: 28 29 3b 0d 0a 09 09 72 65 74 75 72 6e 20 54 52 ();....return TR
0450: 55 45 3b 0d 0a 09 7d 0d 0a 09 72 65 74 75 72 6e UE;...}...return
0460: 20 46 41 4c 53 45 3b 0d 0a 7d 3b 0d 0a 0d 0a 42 FALSE;..};....B
0470: 4f 4f 4c 20 43 56 37 4b 65 79 62 6f 61 72 64 3a OOL CV7Keyboard:
0480: 3a 47 65 74 4b 65 79 4e 61 6d 65 54 65 78 74 28 :GetKeyNameText(
0490: 43 56 61 6c 75 65 26 20 72 65 74 56 61 6c 2c 20 CValue& retVal,
04a0: 43 56 61 6c 75 65 2a 2a 20 70 70 50 61 72 61 6d CValue** ppParam
04b0: 73 29 0d 0a 7b 0d 0a 09 44 57 4f 52 44 20 64 77 s)..{...DWORD dw
04c0: 20 3d 20 70 70 50 61 72 61 6d 73 5b 30 5d 2d 3e = ppParams[0]->
04d0: 47 65 74 4e 75 6d 65 72 69 63 28 29 3b 0d 0a 09 GetNumeric();...
04e0: 69 66 20 28 70 70 50 61 72 61 6d 73 5b 31 5d 2d if (ppParams[1]-
04f0: 3e 47 65 74 4e 75 6d 65 72 69 63 28 29 20 3d 3d >GetNumeric() ==
0500: 20 31 29 0d 0a 09 09 64 77 20 7c 3d 20 30 78 30 1)....dw |= 0x0
0510: 32 30 30 30 30 30 30 3b 0d 0a 0d 0a 09 43 53 74 2000000;.....CSt
0520: 72 69 6e 67 20 73 74 72 3b 0d 0a 09 73 74 72 2e ring str;...str.
0530: 47 65 74 42 75 66 66 65 72 53 65 74 4c 65 6e 67 GetBufferSetLeng
0540: 74 68 28 35 30 29 3b 0d 0a 09 3a 3a 47 65 74 4b th(50);...::GetK
0550: 65 79 4e 61 6d 65 54 65 78 74 28 64 77 2c 20 73 eyNameText(dw, s
0560: 74 72 2e 47 65 74 42 75 66 66 65 72 53 65 74 4c tr.GetBufferSetL
0570: 65 6e 67 74 68 28 35 30 29 2c 20 35 30 29 3b 0d ength(50), 50);.
0580: 0a 09 73 74 72 2e 52 65 6c 65 61 73 65 42 75 66 ..str.ReleaseBuf
0590: 66 65 72 28 29 3b 0d 0a 0d 0a 09 72 65 74 56 61 fer();.....retVa
05a0: 6c 20 3d 20 73 74 72 3b 0d 0a 09 72 65 74 75 72 l = str;...retur
05b0: 6e 20 54 52 55 45 3b 0d 0a 7d 0d 0a 42 4f 4f 4c n TRUE;..}..BOOL
05c0: 20 43 56 37 4b 65 79 62 6f 61 72 64 3a 3a 47 65 CV7Keyboard::Ge
05d0: 74 4b 65 79 4e 61 6d 65 54 65 78 74 5f 47 65 74 tKeyNameText_Get
05e0: 44 65 66 56 61 6c 28 69 6e 74 20 6e 50 61 72 61 DefVal(int nPara
05f0: 6d 2c 20 43 56 61 6c 75 65 2a 20 70 56 61 6c 75 m, CValue* pValu
0600: 65 29 63 6f 6e 73 74 0d 0a 7b 0d 0a 09 69 66 20 e)const..{...if
0610: 28 6e 50 61 72 61 6d 20 3d 3d 20 31 29 0d 0a 09 (nParam == 1)...
0620: 7b 0d 0a 09 09 70 56 61 6c 75 65 2d 3e 52 65 73 {....pValue->Res
0630: 65 74 28 29 3b 0d 0a 09 09 72 65 74 75 72 6e 20 et();....return
0640: 54 52 55 45 3b 0d 0a 09 7d 0d 0a 09 72 65 74 75 TRUE;...}...retu
0650: 72 6e 20 46 41 4c 53 45 3b 0d 0a 7d 3b 0d 0a rn FALSE;..};..