📄 skbwin.c
字号:
static void* GetLayoutStartAddress( void* pData, int iLayout){ switch(iLayout){ case SKB_LAYOUT_STANDARD: return pData; case SKB_LAYOUT_SHIFTED: return pData+SKBWIN_WIDTH*SKBWIN_HEIGHT*_lGUI_iBytesDataType; case SKB_LAYOUT_STANDARD_EXTEND: return pData+SKBWIN_WIDTH*SKBWIN_HEIGHT*_lGUI_iBytesDataType * 2; case SKB_LAYOUT_SHIFTED_EXTEND: return pData+SKBWIN_WIDTH*SKBWIN_HEIGHT*_lGUI_iBytesDataType * 3; case SKB_LAYOUT_HANDWRITE: return pData+SKBWIN_WIDTH*SKBWIN_HEIGHT*_lGUI_iBytesDataType * 4; }}static void InvertSetupArea( HDC hDC){ PLGUIKeyBoard pKeyBoard; pKeyBoard = (PLGUIKeyBoard)(_lGUI_pSkbWindow->dwAddData); if(IsLGUIKBCapsLock()){ if(pKeyBoard->bExtend) InvertSKBRect(hDC,&(pKeyBoard->ExtendKeyDefTab[CAPSLOCK_SUB].rc)); else InvertSKBRect(hDC,&(pKeyBoard->KeyDefTab[CAPSLOCK_SUB].rc)); } if(IsLGUIKBAlt()){ if(pKeyBoard->bExtend){ InvertSKBRect(hDC,&(pKeyBoard->ExtendKeyDefTab[LEFT_ALT_SUB].rc)); InvertSKBRect(hDC,&(pKeyBoard->ExtendKeyDefTab[RIGHT_ALT_SUB].rc)); } else{ InvertSKBRect(hDC,&(pKeyBoard->KeyDefTab[LEFT_ALT_SUB].rc)); InvertSKBRect(hDC,&(pKeyBoard->KeyDefTab[RIGHT_ALT_SUB].rc)); } } if(IsLGUIKBCtrl()){ if(pKeyBoard->bExtend){ InvertSKBRect(hDC,&(pKeyBoard->ExtendKeyDefTab[LEFT_CTRL_SUB].rc)); InvertSKBRect(hDC,&(pKeyBoard->ExtendKeyDefTab[RIGHT_CTRL_SUB].rc)); } else{ InvertSKBRect(hDC,&(pKeyBoard->KeyDefTab[LEFT_CTRL_SUB].rc)); InvertSKBRect(hDC,&(pKeyBoard->KeyDefTab[RIGHT_CTRL_SUB].rc)); } } if(pKeyBoard->iPressed!=-1){ if(pKeyBoard->bExtend){ InvertSKBRect(hDC,&(pKeyBoard->ExtendKeyDefTab[pKeyBoard->iPressed].rc)); } else{ InvertSKBRect(hDC,&(pKeyBoard->KeyDefTab[pKeyBoard->iPressed].rc)); } }}static void InvertSKBRect( HDC hDC, LPRECT lpRect){ char *pData; int x,y; int iWidth, iHeight; pData = (char*)(hDC->pData); if(!pData) return; iWidth = lpRect->right - lpRect->left + 1; iHeight = lpRect->bottom -lpRect->top + 1; pData+=(lpRect->top*SKBWIN_WIDTH + lpRect->left)*_lGUI_iBytesDataType; for(y=0;y<iHeight;y++){ for(x=0; x<iWidth * _lGUI_iBytesDataType;x++){ *(pData+x) = ~(*(pData+x)); } pData += SKBWIN_WIDTH * _lGUI_iBytesDataType; }}static BOOL InitKeyBoardData( HWND hWnd){ char* pEnvStr; char pString[256]; char* pData; int iSize; FILE* fp; PLGUIKeyBoard pKeyBoard; PWindowsTree pWin; pWin = (PWindowsTree)hWnd; if(!pWin) return false; pKeyBoard = (PLGUIKeyBoard)malloc(sizeof(LGUIKeyBoard)); if(!pKeyBoard) return false; pWin->dwAddData = (DWORD)pKeyBoard; pKeyBoard->iCurLayout = SKB_LAYOUT_STANDARD; pKeyBoard->iPressed = -1; pKeyBoard->bExtend = false; memset((void*)(pKeyBoard->KeyDefTab),0,sizeof(LGUIKeyDefine)*NR_KEYNUM); memset((void*)(pKeyBoard->ExtendKeyDefTab),0,sizeof(LGUIKeyDefine)*NR_KEYNUM); pKeyBoard->KeyDefTab[0].iScanCode = SCANCODE_ESCAPE; SetRect(&(pKeyBoard->KeyDefTab[0].rc),0,0,14,15); pKeyBoard->KeyDefTab[1].iScanCode = SCANCODE_WAVE; SetRect(&(pKeyBoard->KeyDefTab[1].rc),16,0,30,15); pKeyBoard->KeyDefTab[2].iScanCode = SCANCODE_1; SetRect(&(pKeyBoard->KeyDefTab[2].rc),32,0,46,15); pKeyBoard->KeyDefTab[3].iScanCode = SCANCODE_2; SetRect(&(pKeyBoard->KeyDefTab[3].rc),48,0,62,15); pKeyBoard->KeyDefTab[4].iScanCode = SCANCODE_3; SetRect(&(pKeyBoard->KeyDefTab[4].rc),64,0,78,15); pKeyBoard->KeyDefTab[5].iScanCode = SCANCODE_4; SetRect(&(pKeyBoard->KeyDefTab[5].rc),80,0,94,15); pKeyBoard->KeyDefTab[6].iScanCode = SCANCODE_5; SetRect(&(pKeyBoard->KeyDefTab[6].rc),96,0,110,15); pKeyBoard->KeyDefTab[7].iScanCode = SCANCODE_6; SetRect(&(pKeyBoard->KeyDefTab[7].rc),112,0,126,15); pKeyBoard->KeyDefTab[8].iScanCode = SCANCODE_7; SetRect(&(pKeyBoard->KeyDefTab[8].rc),128,0,142,15); pKeyBoard->KeyDefTab[9].iScanCode = SCANCODE_8; SetRect(&(pKeyBoard->KeyDefTab[9].rc),144,0,158,15); pKeyBoard->KeyDefTab[10].iScanCode = SCANCODE_9; SetRect(&(pKeyBoard->KeyDefTab[10].rc),160,0,174,15); pKeyBoard->KeyDefTab[11].iScanCode = SCANCODE_0; SetRect(&(pKeyBoard->KeyDefTab[11].rc),176,0,190,15); pKeyBoard->KeyDefTab[12].iScanCode = SCANCODE_MINUS; SetRect(&(pKeyBoard->KeyDefTab[12].rc),192,0,206,15); pKeyBoard->KeyDefTab[13].iScanCode = SCANCODE_EQUAL; SetRect(&(pKeyBoard->KeyDefTab[13].rc),208,0,222,15); pKeyBoard->KeyDefTab[14].iScanCode = SCANCODE_BACKSPACE; SetRect(&(pKeyBoard->KeyDefTab[14].rc),224,0,238,15); pKeyBoard->KeyDefTab[15].iScanCode = SCANCODE_TAB; SetRect(&(pKeyBoard->KeyDefTab[15].rc),0,17,22,32); pKeyBoard->KeyDefTab[16].iScanCode = SCANCODE_Q; SetRect(&(pKeyBoard->KeyDefTab[16].rc),24,17,38,32); pKeyBoard->KeyDefTab[17].iScanCode = SCANCODE_W; SetRect(&(pKeyBoard->KeyDefTab[17].rc),40,17,54,32); pKeyBoard->KeyDefTab[18].iScanCode = SCANCODE_E; SetRect(&(pKeyBoard->KeyDefTab[18].rc),56,17,70,32); pKeyBoard->KeyDefTab[19].iScanCode = SCANCODE_R; SetRect(&(pKeyBoard->KeyDefTab[19].rc),72,17,86,32); pKeyBoard->KeyDefTab[20].iScanCode = SCANCODE_T; SetRect(&(pKeyBoard->KeyDefTab[20].rc),88,17,102,32); pKeyBoard->KeyDefTab[21].iScanCode = SCANCODE_Y; SetRect(&(pKeyBoard->KeyDefTab[21].rc),104,17,118,32); pKeyBoard->KeyDefTab[22].iScanCode = SCANCODE_U; SetRect(&(pKeyBoard->KeyDefTab[22].rc),120,17,134,32); pKeyBoard->KeyDefTab[23].iScanCode = SCANCODE_I; SetRect(&(pKeyBoard->KeyDefTab[23].rc),136,17,150,32); pKeyBoard->KeyDefTab[24].iScanCode = SCANCODE_O; SetRect(&(pKeyBoard->KeyDefTab[24].rc),152,17,166,32); pKeyBoard->KeyDefTab[25].iScanCode = SCANCODE_P; SetRect(&(pKeyBoard->KeyDefTab[25].rc),168,17,182,32); pKeyBoard->KeyDefTab[26].iScanCode = SCANCODE_BRACKET_LEFT; SetRect(&(pKeyBoard->KeyDefTab[26].rc),184,17,198,32); pKeyBoard->KeyDefTab[27].iScanCode = SCANCODE_BRACKET_RIGHT; SetRect(&(pKeyBoard->KeyDefTab[27].rc),200,17,214,32); pKeyBoard->KeyDefTab[28].iScanCode = SCANCODE_BACKSLASH; SetRect(&(pKeyBoard->KeyDefTab[28].rc),216,17,230,32); pKeyBoard->KeyDefTab[59].iScanCode = SCANCODE_EXTPAD; SetRect(&(pKeyBoard->KeyDefTab[59].rc),232,17,238,32); pKeyBoard->KeyDefTab[29].iScanCode = SCANCODE_CAPSLOCK; SetRect(&(pKeyBoard->KeyDefTab[29].rc),0,34,30,49); pKeyBoard->KeyDefTab[30].iScanCode = SCANCODE_A; SetRect(&(pKeyBoard->KeyDefTab[30].rc),32,34,46,49); pKeyBoard->KeyDefTab[31].iScanCode = SCANCODE_S; SetRect(&(pKeyBoard->KeyDefTab[31].rc),48,34,62,49); pKeyBoard->KeyDefTab[32].iScanCode = SCANCODE_D; SetRect(&(pKeyBoard->KeyDefTab[32].rc),64,34,78,49); pKeyBoard->KeyDefTab[33].iScanCode = SCANCODE_F; SetRect(&(pKeyBoard->KeyDefTab[33].rc),80,34,94,49); pKeyBoard->KeyDefTab[34].iScanCode = SCANCODE_G; SetRect(&(pKeyBoard->KeyDefTab[34].rc),96,34,110,49); pKeyBoard->KeyDefTab[35].iScanCode = SCANCODE_H; SetRect(&(pKeyBoard->KeyDefTab[35].rc),112,34,126,49); pKeyBoard->KeyDefTab[36].iScanCode = SCANCODE_J; SetRect(&(pKeyBoard->KeyDefTab[36].rc),128,34,142,49); pKeyBoard->KeyDefTab[37].iScanCode = SCANCODE_K; SetRect(&(pKeyBoard->KeyDefTab[37].rc),144,34,158,49); pKeyBoard->KeyDefTab[38].iScanCode = SCANCODE_L; SetRect(&(pKeyBoard->KeyDefTab[38].rc),160,34,174,49); pKeyBoard->KeyDefTab[39].iScanCode = SCANCODE_SEMICOLON; SetRect(&(pKeyBoard->KeyDefTab[39].rc),176,34,190,49); pKeyBoard->KeyDefTab[40].iScanCode = SCANCODE_APOSTROPHE; SetRect(&(pKeyBoard->KeyDefTab[40].rc),192,34,206,49); pKeyBoard->KeyDefTab[41].iScanCode = SCANCODE_ENTER; SetRect(&(pKeyBoard->KeyDefTab[41].rc),208,34,238,49); pKeyBoard->KeyDefTab[42].iScanCode = SCANCODE_LEFTSHIFT; SetRect(&(pKeyBoard->KeyDefTab[42].rc),0,51,38,66); pKeyBoard->KeyDefTab[43].iScanCode = SCANCODE_Z; SetRect(&(pKeyBoard->KeyDefTab[43].rc),40,51,54,66); pKeyBoard->KeyDefTab[44].iScanCode = SCANCODE_X; SetRect(&(pKeyBoard->KeyDefTab[44].rc),56,51,70,66); pKeyBoard->KeyDefTab[45].iScanCode = SCANCODE_C; SetRect(&(pKeyBoard->KeyDefTab[45].rc),72,51,86,66); pKeyBoard->KeyDefTab[46].iScanCode = SCANCODE_V; SetRect(&(pKeyBoard->KeyDefTab[46].rc),88,51,102,66); pKeyBoard->KeyDefTab[47].iScanCode = SCANCODE_B; SetRect(&(pKeyBoard->KeyDefTab[47].rc),104,51,118,66); pKeyBoard->KeyDefTab[48].iScanCode = SCANCODE_N; SetRect(&(pKeyBoard->KeyDefTab[48].rc),120,51,134,66); pKeyBoard->KeyDefTab[49].iScanCode = SCANCODE_M; SetRect(&(pKeyBoard->KeyDefTab[49].rc),136,51,150,66); pKeyBoard->KeyDefTab[50].iScanCode = SCANCODE_COMMA; SetRect(&(pKeyBoard->KeyDefTab[50].rc),152,51,166,66); pKeyBoard->KeyDefTab[51].iScanCode = SCANCODE_PERIOD; SetRect(&(pKeyBoard->KeyDefTab[51].rc),168,51,182,66); pKeyBoard->KeyDefTab[52].iScanCode = SCANCODE_SLASH; SetRect(&(pKeyBoard->KeyDefTab[52].rc),184,51,198,66); pKeyBoard->KeyDefTab[53].iScanCode = SCANCODE_RIGHTSHIFT; SetRect(&(pKeyBoard->KeyDefTab[53].rc),200,51,238,66); pKeyBoard->KeyDefTab[54].iScanCode = SCANCODE_LEFTCONTROL; SetRect(&(pKeyBoard->KeyDefTab[54].rc),0,68,22,83); pKeyBoard->KeyDefTab[55].iScanCode = SCANCODE_LEFTALT; SetRect(&(pKeyBoard->KeyDefTab[55].rc),24,68,46,83); pKeyBoard->KeyDefTab[56].iScanCode = SCANCODE_SPACE; SetRect(&(pKeyBoard->KeyDefTab[56].rc),48,68,190,83); pKeyBoard->KeyDefTab[57].iScanCode = SCANCODE_RIGHTALT; SetRect(&(pKeyBoard->KeyDefTab[57].rc),192,68,214,83); pKeyBoard->KeyDefTab[58].iScanCode = SCANCODE_RIGHTCONTROL; SetRect(&(pKeyBoard->KeyDefTab[58].rc),216,68,238,83); //====================================================================//=============================Extend Key def tab====================//==================================================================== pKeyBoard->ExtendKeyDefTab[0].iScanCode = SCANCODE_ESCAPE; SetRect(&(pKeyBoard->ExtendKeyDefTab[0].rc),5,0,15,15); pKeyBoard->ExtendKeyDefTab[1].iScanCode = SCANCODE_WAVE; SetRect(&(pKeyBoard->ExtendKeyDefTab[1].rc),17,0,27,15); pKeyBoard->ExtendKeyDefTab[2].iScanCode = SCANCODE_1; SetRect(&(pKeyBoard->ExtendKeyDefTab[2].rc),29,0,39,15); pKeyBoard->ExtendKeyDefTab[3].iScanCode = SCANCODE_2; SetRect(&(pKeyBoard->ExtendKeyDefTab[3].rc),41,0,51,15); pKeyBoard->ExtendKeyDefTab[4].iScanCode = SCANCODE_3; SetRect(&(pKeyBoard->ExtendKeyDefTab[4].rc),53,0,63,15); pKeyBoard->ExtendKeyDefTab[5].iScanCode = SCANCODE_4; SetRect(&(pKeyBoard->ExtendKeyDefTab[5].rc),65,0,75,15); pKeyBoard->ExtendKeyDefTab[6].iScanCode = SCANCODE_5; SetRect(&(pKeyBoard->ExtendKeyDefTab[6].rc),77,0,87,15); pKeyBoard->ExtendKeyDefTab[7].iScanCode = SCANCODE_6; SetRect(&(pKeyBoard->ExtendKeyDefTab[7].rc),89,0,99,15); pKeyBoard->ExtendKeyDefTab[8].iScanCode = SCANCODE_7; SetRect(&(pKeyBoard->ExtendKeyDefTab[8].rc),101,0,111,15); pKeyBoard->ExtendKeyDefTab[9].iScanCode = SCANCODE_8; SetRect(&(pKeyBoard->ExtendKeyDefTab[9].rc),113,0,123,15); pKeyBoard->ExtendKeyDefTab[10].iScanCode = SCANCODE_9; SetRect(&(pKeyBoard->ExtendKeyDefTab[10].rc),125,0,135,15); pKeyBoard->ExtendKeyDefTab[11].iScanCode = SCANCODE_0; SetRect(&(pKeyBoard->ExtendKeyDefTab[11].rc),137,0,147,15); pKeyBoard->ExtendKeyDefTab[12].iScanCode = SCANCODE_MINUS; SetRect(&(pKeyBoard->ExtendKeyDefTab[12].rc),149,0,159,15); pKeyBoard->ExtendKeyDefTab[13].iScanCode = SCANCODE_EQUAL; SetRect(&(pKeyBoard->ExtendKeyDefTab[13].rc),161,0,171,15); pKeyBoard->ExtendKeyDefTab[14].iScanCode = SCANCODE_BACKSPACE; SetRect(&(pKeyBoard->ExtendKeyDefTab[14].rc),173,0,183,15); pKeyBoard->ExtendKeyDefTab[15].iScanCode = SCANCODE_TAB; SetRect(&(pKeyBoard->ExtendKeyDefTab[15].rc),5,17,21,32); pKeyBoard->ExtendKeyDefTab[16].iScanCode = SCANCODE_Q; SetRect(&(pKeyBoard->ExtendKeyDefTab[16].rc),23,17,33,32); pKeyBoard->ExtendKeyDefTab[17].iScanCode = SCANCODE_W; SetRect(&(pKeyBoard->ExtendKeyDefTab[17].rc),35,17,45,32); pKeyBoard->ExtendKeyDefTab[18].iScanCode = SCANCODE_E; SetRect(&(pKeyBoard->ExtendKeyDefTab[18].rc),47,17,57,32); pKeyBoard->ExtendKeyDefTab[19].iScanCode = SCANCODE_R; SetRect(&(pKeyBoard->ExtendKeyDefTab[19].rc),59,17,69,32); pKeyBoard->ExtendKeyDefTab[20].iScanCode = SCANCODE_T; SetRect(&(pKeyBoard->ExtendKeyDefTab[20].rc),71,17,81,32); pKeyBoard->ExtendKeyDefTab[21].iScanCode = SCANCODE_Y; SetRect(&(pKeyBoard->ExtendKeyDefTab[21].rc),83,17,93,32); pKeyBoard->ExtendKeyDefTab[22].iScanCode = SCANCODE_U; SetRect(&(pKeyBoard->ExtendKeyDefTab[22].rc),95,17,105,32); pKeyBoard->ExtendKeyDefTab[23].iScanCode = SCANCODE_I; SetRect(&(pKeyBoard->ExtendKeyDefTab[23].rc),107,17,117,32); pKeyBoard->ExtendKeyDefTab[24].iScanCode = SCANCODE_O; SetRect(&(pKeyBoard->ExtendKeyDefTab[24].rc),119,17,129,32); pKeyBoard->ExtendKeyDefTab[25].iScanCode = SCANCODE_P; SetRect(&(pKeyBoard->ExtendKeyDefTab[25].rc),131,17,141,32); pKeyBoard->ExtendKeyDefTab[26].iScanCode = SCANCODE_BRACKET_LEFT; SetRect(&(pKeyBoard->ExtendKeyDefTab[26].rc),143,17,153,32); pKeyBoard->ExtendKeyDefTab[27].iScanCode = SCANCODE_BRACKET_RIGHT; SetRect(&(pKeyBoard->ExtendKeyDefTab[27].rc),155,17,165,32); pKeyBoard->ExtendKeyDefTab[28].iScanCode = SCANCODE_BACKSLASH; SetRect(&(pKeyBoard->ExtendKeyDefTab[28].rc),167,17,177,32); pKeyBoard->ExtendKeyDefTab[59].iScanCode = SCANCODE_EXTPAD; SetRect(&(pKeyBoard->ExtendKeyDefTab[59].rc),179,17,183,32); pKeyBoard->ExtendKeyDefTab[29].iScanCode = SCANCODE_CAPSLOCK; SetRect(&(pKeyBoard->ExtendKeyDefTab[29].rc),5,34,27,49); pKeyBoard->ExtendKeyDefTab[30].iScanCode = SCANCODE_A; SetRect(&(pKeyBoard->ExtendKeyDefTab[30].rc),29,34,39,49); pKeyBoard->ExtendKeyDefTab[31].iScanCode = SCANCODE_S; SetRect(&(pKeyBoard->ExtendKeyDefTab[31].rc),41,34,51,49); pKeyBoard->ExtendKeyDefTab[32].iScanCode = SCANCODE_D; SetRect(&(pKeyBoard->ExtendKeyDefTab[32].rc),53,34,63,49); pKeyBoard->ExtendKeyDefTab[33].iScanCode = SCANCODE_F; SetRect(&(pKeyBoard->ExtendKeyDefTab[33].rc),65,34,75,49); pKeyBoard->ExtendKeyDefTab[34].iScanCode = SCANCODE_G; SetRect(&(pKeyBoard->ExtendKeyDefTab[34].rc),77,34,87,49); pKeyBoard->ExtendKeyDefTab[35].iScanCode = SCANCODE_H; SetRect(&(pKeyBoard->ExtendKeyDefTab[35].rc),89,34,99,49); pKeyBoard->ExtendKeyDefTab[36].iScanCode = SCANCODE_J; SetRect(&(pKeyBoard->ExtendKeyDefTab[36].rc),101,34,111,49); pKeyBoard->ExtendKeyDefTab[37].iScanCode = SCANCODE_K; SetRect(&(pKeyBoard->ExtendKeyDefTab[37].rc),113,34,123,49); pKeyBoard->ExtendKeyDefTab[38].iScanCode = SCANCODE_L; SetRect(&(pKeyBoard->ExtendKeyDefTab[38].rc),125,34,135,49); pKeyBoard->ExtendKeyDefTab[39].iScanCode = SCANCODE_SEMICOLON; SetRect(&(pKeyBoard->ExtendKeyDefTab[39].rc),137,34,147,49); pKeyBoard->ExtendKeyDefTab[40].iScanCode = SCANCODE_APOSTROPHE; SetRect(&(pKeyBoard->ExtendKeyDefTab[40].rc),149,34,159,49); pKeyBoard->ExtendKeyDefTab[41].iScanCode = SCANCODE_ENTER; SetRect(&(pKeyBoard->ExtendKeyDefTab[41].rc),161,34,183,49); pKeyBoard->ExtendKeyDefTab[42].iScanCode = SCANCODE_LEFTSHIFT; SetRect(&(pKeyBoard->ExtendKeyDefTab[42].rc),5,51,33,66); pKeyBoard->ExtendKeyDefTab[43].iScanCode = SCANCODE_Z; SetRect(&(pKeyBoard->ExtendKeyDefTab[43].rc),35,51,45,66); pKeyBoard->ExtendKeyDefTab[44].iScanCode = SCANCODE_X; SetRect(&(pKeyBoard->ExtendKeyDefTab[44].rc),47,51,57,66); pKeyBoard->ExtendKeyDefTab[45].iScanCode = SCANCODE_C; SetRect(&(pKeyBoard->ExtendKeyDefTab[45].rc),59,51,69,66); pKeyBoard->ExtendKeyDefTab[46].iScanCode = SCANCODE_V; SetRect(&(pKeyBoard->ExtendKeyDefTab[46].rc),71,51,81,66); pKeyBoard->ExtendKeyDefTab[47].iScanCode = SCANCODE_B; SetRect(&(pKeyBoard->ExtendKeyDefTab[47].rc),83,51,93,66); pKeyBoard->ExtendKeyDefTab[48].iScanCode = SCANCODE_N; SetRect(&(pKeyBoard->ExtendKeyDefTab[48].rc),95,51,105,66); pKeyBoard->ExtendKeyDefTab[49].iScanCode = SCANCODE_M; SetRect(&(pKeyBoard->ExtendKeyDefTab[49].rc),107,51,117,66); pKeyBoard->ExtendKeyDefTab[50].iScanCode = SCANCODE_COMMA; SetRect(&(pKeyBoard->ExtendKeyDefTab[50].rc),119,51,129,66); pKeyBoard->ExtendKeyDefTab[51].iScanCode = SCANCODE_PERIOD; SetRect(&(pKeyBoard->ExtendKeyDefTab[51].rc),131,51,141,66); pKeyBoard->ExtendKeyDefTab[52].iScanCode = SCANCODE_SLASH; SetRect(&(pKeyBoard->ExtendKeyDefTab[52].rc),143,51,153,66); pKeyBoard->ExtendKeyDefTab[53].iScanCode = SCANCODE_RIGHTSHIFT; SetRect(&(pKeyBoard->ExtendKeyDefTab[53].rc),155,51,183,66); pKeyBoard->ExtendKeyDefTab[54].iScanCode = SCANCODE_LEFTCONTROL; SetRect(&(pKeyBoard->ExtendKeyDefTab[54].rc),5,68,21,83); pKeyBoard->ExtendKeyDefTab[55].iScanCode = SCANCODE_LEFTALT; SetRect(&(pKeyBoard->ExtendKeyDefTab[55].rc),23,68,39,83); pKeyBoard->ExtendKeyDefTab[56].iScanCode = SCANCODE_SPACE; SetRect(&(pKeyBoard->ExtendKeyDefTab[56].rc),41,68,147,83); pKeyBoard->ExtendKeyDefTab[57].iScanCode = SCANCODE_RIGHTALT; SetRect(&(pKeyBoard->ExtendKeyDefTab[57].rc),149,68,165,83); pKeyBoard->ExtendKeyDefTab[58].iScanCode = SCANCODE_RIGHTCONTROL; SetRect(&(pKeyBoard->ExtendKeyDefTab[58].rc),167,68,183,83); pKeyBoard->ExtendKeyDefTab[60].iScanCode = SCANCODE_HOME; SetRect(&(pKeyBoard->ExtendKeyDefTab[60].rc),209,0,219,15); pKeyBoard->ExtendKeyDefTab[61].iScanCode = SCANCODE_END; SetRect(&(pKeyBoard->ExtendKeyDefTab[61].rc),209,17,219,32); pKeyBoard->ExtendKeyDefTab[62].iScanCode = SCANCODE_INS; SetRect(&(pKeyBoard->ExtendKeyDefTab[62].rc),197,0,207,15); pKeyBoard->ExtendKeyDefTab[63].iScanCode = SCANCODE_DEL; SetRect(&(pKeyBoard->ExtendKeyDefTab[63].rc),197,17,207,32); pKeyBoard->ExtendKeyDefTab[64].iScanCode = SCANCODE_PAGEUP; SetRect(&(pKeyBoard->ExtendKeyDefTab[64].rc),221,0,231,15); pKeyBoard->ExtendKeyDefTab[65].iScanCode = SCANCODE_PAGEDOWN; SetRect(&(pKeyBoard->ExtendKeyDefTab[65].rc),221,17,231,32); pKeyBoard->ExtendKeyDefTab[66].iScanCode = SCANCODE_LEFT; SetRect(&(pKeyBoard->ExtendKeyDefTab[66].rc),197,68,207,83); pKeyBoard->ExtendKeyDefTab[67].iScanCode = SCANCODE_RIGHT; SetRect(&(pKeyBoard->ExtendKeyDefTab[67].rc),221,68,231,83); pKeyBoard->ExtendKeyDefTab[68].iScanCode = SCANCODE_UP; SetRect(&(pKeyBoard->ExtendKeyDefTab[68].rc),209,51,219,66); pKeyBoard->ExtendKeyDefTab[69].iScanCode = SCANCODE_DOWN; SetRect(&(pKeyBoard->ExtendKeyDefTab[69].rc),209,68,219,83); //read skb bmp iSize = SKBWIN_WIDTH*SKBWIN_HEIGHT*_lGUI_iBytesDataType; pData = (char*)malloc(SKB_LAYOUT_NUMBER*iSize); if(!pData) return false; pKeyBoard->pData = pData; pEnvStr=getenv("LGUI_HOME"); if(!pEnvStr) return false; //standard strcpy(pString,pEnvStr); strcat(pString,SKBBMP_LAYOUT_STANDARD); fp = fopen(pString,"rb"); if(!fp) return false; ReadBmpToBuf(fp,SKBWIN_WIDTH,SKBWIN_HEIGHT,pData); fclose(fp); pData+=iSize; //shifted strcpy(pString,pEnvStr); strcat(pString,SKBBMP_LAYOUT_SHIFTED); fp = fopen(pString,"rb"); if(!fp) return false; ReadBmpToBuf(fp,SKBWIN_WIDTH,SKBWIN_HEIGHT,pData); fclose(fp); pData+=iSize; //standard extend strcpy(pString,pEnvStr); strcat(pString,SKBBMP_LAYOUT_STANDARD_EXTEND); fp = fopen(pString,"rb"); if(!fp) return false; ReadBmpToBuf(fp,SKBWIN_WIDTH,SKBWIN_HEIGHT,pData); fclose(fp); pData+=iSize; //shifted extend strcpy(pString,pEnvStr); strcat(pString,SKBBMP_LAYOUT_SHIFTED_EXTEND); fp = fopen(pString,"rb"); if(!fp) return false; ReadBmpToBuf(fp,SKBWIN_WIDTH,SKBWIN_HEIGHT,pData); fclose(fp); pData+=iSize; //handwrite strcpy(pString,pEnvStr); strcat(pString,SKBBMP_LAYOUT_HANDWRITE); fp = fopen(pString,"rb"); if(!fp) return false; ReadBmpToBuf(fp,SKBWIN_WIDTH,SKBWIN_HEIGHT,pData); fclose(fp); return true;}static void DestroyKeyBoardData( HWND hWnd){ PLGUIKeyBoard pKeyBoard; PWindowsTree pWin; pWin = (PWindowsTree)hWnd; pKeyBoard = (PLGUIKeyBoard)(pWin->dwAddData); if(!pKeyBoard) return; free(pKeyBoard->pData); free(pKeyBoard);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -