📄 uikbd_cjres.240
字号:
/*
#define CHANGJIE_TABLE_SIZE 13060
#define CHANGJIE_KEY_NUMBER 52 // 仓颉键盘按键个数(不含选字区及功能键)
#define CHANGJIE_KEY_INDEX_ADDRESS 44
#define CHANGJIE_KEY_INDEX_SYMBOL 45
#define CHANGJIE_KEY_INDEX_SPACE 46 // 空白键的索引
#define CHANGJIE_KEY_INDEX_BACKSPACE 10 // back space
static WORD ChangJieKeyPosition[CHANGJIE_KEY_NUMBER][4] = {
// Line 1 11个
{ 1, 1, 13, 13 },{ 15, 1, 27, 13 },{ 29, 1, 41, 13 },{ 43, 1, 55, 13 },
{ 57, 1, 69, 13 },{ 71, 1, 83, 13 },{ 85, 1, 97, 13 },{ 99, 1, 111, 13 },
{ 113, 1, 125, 13 },{ 127, 1, 139, 13 },{ 141, 1, 158, 13 },
// Line 2 11 个
{ 1, 15, 13, 27 },{ 15, 15, 27, 27 },{29, 15, 41, 27 },{ 43, 15, 55, 27 },
{ 57, 15, 69, 27 },{ 71, 15, 83, 27 },{85, 15, 97, 27 },{ 99, 15, 111, 27 },
{ 113, 15, 125, 27 },{ 127, 15, 139, 27 },{141, 15, 158, 27 },
// Line 3 11 个
{ 1, 29, 13, 41 },{ 15, 29, 27, 41 },{ 29, 29, 41, 41 },{ 43, 29, 55, 41 },
{ 57, 29, 69, 41 },{ 71, 29, 83, 41 },{ 85, 29, 97, 41 },{ 99, 29, 111, 41 },
{ 113, 29, 125, 41 },{ 127, 29, 139, 41 },{ 141, 29, 158, 41 },
// Line 4 11 个
{ 1, 43, 13, 55 },{ 15, 43, 27, 55 },{ 29, 43, 41, 55 },{ 43, 43, 55, 55 },
{ 57, 43, 69, 55 },{ 71, 43, 83, 55 },{ 85, 43, 97, 55 },{ 99, 43, 111, 55 },
{ 113, 43, 125, 55 },{ 127, 43, 139, 55 },{ 141, 43, 158, 55 },
// Line 5 8 个
{ 1, 57, 13, 69 },{ 15, 57, 27, 69 },{ 29, 57, 83, 69 },{ 85, 57, 97, 69 },
{ 99, 57, 111, 69 },{ 113, 57, 125, 69 },{ 127, 57, 139, 69 },{ 141, 57, 158, 69 },
};
static WORD ChangJieKey[CHANGJIE_KEY_NUMBER] = {
// 1 2 3 4 5 6 7 8 9 0
0xa2b0, 0xa2b1,0xa2b2,0xa2b3,0xa2b4,0xa2b5,0xa2b6,0xa2b7,0xa2b8, 0xa2af,CJ_KEY_BACKSPACE,
//手 田 水 口 廿 卜 山 戈 人 心 =
17, 23, 5, 18, 20, 25, 21, 9, 15, 16, 0xa1d7,
//日 尸 木 火 土 竹 十 大 中 ? Tab
1, 19, 4, 6, 7, 8, 10, 11, 12, 0xa153, KEY_TAB,
//重 难 金 女 月 弓 一 ; : ! ENTER
26, 24, 3, 22, 2, 14, 13, 0xa146, 0xa147, 0xa154, KEY_ENTER,
// 址 符 space 、 , . 。 DEL
0x0020, 0x0020, 0x0020, 0xa142, 0xa141, 0xa145, 0xa143, KEY_DELETE
};
static WORD ChangJieCodeMap[27] = {
// 日 月 金 木 水 火 土 竹 戈 十
0x0020, 0xa4e9, 0xa4eb, 0xaaf7, 0xa4ec, 0xa4f4, 0xa4f5, 0xa467, 0xa6cb, 0xa4e0, 0xa451,
// 大 中 一 弓 人 心 手 口 尸 廿 山
0xa46a, 0xa4a4, 0xa440, 0xa47d, 0xa448, 0xa4df, 0xa4e2, 0xa466, 0xa472, 0xa4dc, 0xa473,
// 女 田 难 卜 重
0xa46b, 0xa5d0, 0xc3f8, 0xa452, 0xadab
};
*/
#include <typedefine.h>
#include <uiSw_Kbd.h>
#define WS_WIDTH 14 // 第2列键的宽度
#define WG_WIDTH 15 // 其它键的宽度
#define P_HEIGHT 15 // 键的高度
#define CJ_X1 30
#define CJ_Y1 1
//#define CJ_X2 70 // 67即可
#define CJ_X2 104
#define CJ_Y2 14
//#define WC_X1 71 // 68即可
#define WC_X1 105
#define WC_Y1 1
#define WC_X2 176
#define WC_Y2 14
#define WL_X1 177
#define WL_Y1 1
#define WL_X2 185
#define WL_Y2 14
#define WR_X1 186
#define WR_Y1 1
#define WR_X2 193
#define WR_Y2 14
#ifdef __WIN32__
TSwKbd_Coor const KBDCOOR_CJ[] =
{
// 第一行,退格键、删除键、拼音、候选字区、箭头和数字
{0, 0, WG_WIDTH, P_HEIGHT, KEY_CHINESE}, // 0x0300
{WG_WIDTH, 0, WS_WIDTH+WG_WIDTH, P_HEIGHT, KEY_ENGLISH}, // 0x0301
{CJ_X1, 0, CJ_X2, P_HEIGHT, KEY_IMECODE}, // 拼音 0x0304
{WC_X1, 0, WC_X2, P_HEIGHT, KEY_CANDIDATE}, // 候选字区 0x0305
{WL_X1, 0, WL_X2, P_HEIGHT, KEY_LEFT}, // 左箭头 0x0307
{WR_X1, 0, WR_X2, P_HEIGHT, KEY_RIGHT}, // 右箭头 0x0307
{WS_WIDTH+WG_WIDTH*12, 0, WS_WIDTH+WG_WIDTH*15, P_HEIGHT, CJ_KEY_BACKSPACE}, // 0x0309
//第二行
{0, P_HEIGHT, WG_WIDTH, P_HEIGHT*2, KEY_HAND}, // 0x0303
{WG_WIDTH, P_HEIGHT, WS_WIDTH+WG_WIDTH, P_HEIGHT*2, KEY_NUMERIC},// 0x030B
{WS_WIDTH+WG_WIDTH, P_HEIGHT, WS_WIDTH+WG_WIDTH*2, P_HEIGHT*2, 17/*'q'*/}, // 手
{WS_WIDTH+WG_WIDTH*2, P_HEIGHT, WS_WIDTH+WG_WIDTH*3, P_HEIGHT*2, 23/*'w'*/}, // 田
{WS_WIDTH+WG_WIDTH*3, P_HEIGHT, WS_WIDTH+WG_WIDTH*4, P_HEIGHT*2, 5/*'e'*/}, // 水
{WS_WIDTH+WG_WIDTH*4, P_HEIGHT, WS_WIDTH+WG_WIDTH*5, P_HEIGHT*2, 18/*'r'*/}, // 口
{WS_WIDTH+WG_WIDTH*5, P_HEIGHT, WS_WIDTH+WG_WIDTH*6, P_HEIGHT*2, 20/*'t'*/}, // 廿
{WS_WIDTH+WG_WIDTH*6, P_HEIGHT, WS_WIDTH+WG_WIDTH*7, P_HEIGHT*2, 25/*'y'*/}, // 卜
{WS_WIDTH+WG_WIDTH*7, P_HEIGHT, WS_WIDTH+WG_WIDTH*8, P_HEIGHT*2, 21/*'u'*/}, // 山
{WS_WIDTH+WG_WIDTH*8, P_HEIGHT, WS_WIDTH+WG_WIDTH*9, P_HEIGHT*2, 9/*'i'*/}, // 戈
{WS_WIDTH+WG_WIDTH*9, P_HEIGHT, WS_WIDTH+WG_WIDTH*10, P_HEIGHT*2, 15/*'o'*/}, // 人
{WS_WIDTH+WG_WIDTH*10, P_HEIGHT, WS_WIDTH+WG_WIDTH*11, P_HEIGHT*2, 16/*'p'*/}, // 心
{WS_WIDTH+WG_WIDTH*11, P_HEIGHT, WS_WIDTH+WG_WIDTH*12, P_HEIGHT*2, '@'},
{WS_WIDTH+WG_WIDTH*12, P_HEIGHT, WS_WIDTH+WG_WIDTH*15, P_HEIGHT*2, CJ_KEY_DELETE},
//第三行
{0, P_HEIGHT*2, WG_WIDTH, P_HEIGHT*3, KEY_MAKEWORD}, // 0x030C
{WG_WIDTH, P_HEIGHT*2, WS_WIDTH+WG_WIDTH, P_HEIGHT*3, KEY_SYMBOL}, // 0x0302
{WS_WIDTH+WG_WIDTH, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*2, P_HEIGHT*3, 1/*'a'*/}, // 日
{WS_WIDTH+WG_WIDTH*2, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*3, P_HEIGHT*3, 19/*'s'*/}, // 尸
{WS_WIDTH+WG_WIDTH*3, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*4, P_HEIGHT*3, 4/*'d'*/}, // 木
{WS_WIDTH+WG_WIDTH*4, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*5, P_HEIGHT*3, 6/*'f'*/}, // 火
{WS_WIDTH+WG_WIDTH*5, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*6, P_HEIGHT*3, 7/*'g'*/}, // 土
{WS_WIDTH+WG_WIDTH*6, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*7, P_HEIGHT*3, 8/*'h'*/}, // 竹
{WS_WIDTH+WG_WIDTH*7, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*8, P_HEIGHT*3, 10/*'j'*/}, // 十
{WS_WIDTH+WG_WIDTH*8, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*9, P_HEIGHT*3, 11/*'k'*/}, // 大
{WS_WIDTH+WG_WIDTH*9, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*10, P_HEIGHT*3, 12/*'l'*/}, // 巾
{WS_WIDTH+WG_WIDTH*10, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*11, P_HEIGHT*3, 0xa146/*0xbba3*/}, // ;
{WS_WIDTH+WG_WIDTH*11, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*12, P_HEIGHT*3, 0xa147/*0xbaa3*/}, // :
{WS_WIDTH+WG_WIDTH*12, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*15, P_HEIGHT*3, CJ_KEY_ENTER},
//第四行
{0, P_HEIGHT*3, WS_WIDTH+WG_WIDTH, P_HEIGHT*4, KEY_CAPSLOCK},// 0x0309
{WS_WIDTH+WG_WIDTH, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*2, P_HEIGHT*4, 26/*'z'*/}, // 重
{WS_WIDTH+WG_WIDTH*2, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*3, P_HEIGHT*4, 24/*'x'*/}, // 难
{WS_WIDTH+WG_WIDTH*3, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*4, P_HEIGHT*4, 03/*'c'*/}, // 金
{WS_WIDTH+WG_WIDTH*4, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*5, P_HEIGHT*4, 22/*'v'*/}, // 女
{WS_WIDTH+WG_WIDTH*5, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*6, P_HEIGHT*4, 02/*'b'*/}, // 月
{WS_WIDTH+WG_WIDTH*6, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*7, P_HEIGHT*4, 14/*'n'*/}, // 弓
{WS_WIDTH+WG_WIDTH*7, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*8, P_HEIGHT*4, 13/*'m'*/}, // 一
{WS_WIDTH+WG_WIDTH*8, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*9, P_HEIGHT*4, 0xa141/*0xaca3*/}, // ,
{WS_WIDTH+WG_WIDTH*9, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*10, P_HEIGHT*4, 0xa143/*0xa3a1*/}, // 。
{WS_WIDTH+WG_WIDTH*10, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*11, P_HEIGHT*4, '-'},
{WS_WIDTH+WG_WIDTH*11, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*12, P_HEIGHT*4, '.'},
{WS_WIDTH+WG_WIDTH*12, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*15, P_HEIGHT*4, CJ_KEY_SPACE},
//end
{0,0,0,0,KEY_KBD_END}
};
#else
TSwKbd_Coor const KBDCOOR_CJ[] =
{
// 第一行,退格键、删除键、拼音、候选字区、箭头和数字
{0, 0, WG_WIDTH, P_HEIGHT, KEY_CHINESE},
{WG_WIDTH, 0, WS_WIDTH+WG_WIDTH, P_HEIGHT, KEY_ENGLISH},
{CJ_X1, 0, CJ_X2, P_HEIGHT, KEY_IMECODE}, // 苍颉字根
{WC_X1, 0, WC_X2, P_HEIGHT, KEY_CANDIDATE}, // 候选字区
{WL_X1, 0, WL_X2, P_HEIGHT, KEY_LEFT}, // 左箭头
{WR_X1, 0, WR_X2, P_HEIGHT, KEY_RIGHT}, // 右箭头
{WS_WIDTH+WG_WIDTH*12, 0, WS_WIDTH+WG_WIDTH*15, P_HEIGHT, CJ_KEY_BACKSPACE},
//第二行
{0, P_HEIGHT, WG_WIDTH, P_HEIGHT*2, KEY_HAND},
{WG_WIDTH, P_HEIGHT, WS_WIDTH+WG_WIDTH, P_HEIGHT*2, KEY_NUMERIC},
{WS_WIDTH+WG_WIDTH, P_HEIGHT, WS_WIDTH+WG_WIDTH*2, P_HEIGHT*2, 17/*'q'*/}, // 手
{WS_WIDTH+WG_WIDTH*2, P_HEIGHT, WS_WIDTH+WG_WIDTH*3, P_HEIGHT*2, 23/*'w'*/}, // 田
{WS_WIDTH+WG_WIDTH*3, P_HEIGHT, WS_WIDTH+WG_WIDTH*4, P_HEIGHT*2, 05/*'e'*/}, // 水
{WS_WIDTH+WG_WIDTH*4, P_HEIGHT, WS_WIDTH+WG_WIDTH*5, P_HEIGHT*2, 18/*'r'*/}, // 口
{WS_WIDTH+WG_WIDTH*5, P_HEIGHT, WS_WIDTH+WG_WIDTH*6, P_HEIGHT*2, 20/*'t'*/}, // 廿
{WS_WIDTH+WG_WIDTH*6, P_HEIGHT, WS_WIDTH+WG_WIDTH*7, P_HEIGHT*2, 25/*'y'*/}, // 卜
{WS_WIDTH+WG_WIDTH*7, P_HEIGHT, WS_WIDTH+WG_WIDTH*8, P_HEIGHT*2, 21/*'u'*/}, // 山
{WS_WIDTH+WG_WIDTH*8, P_HEIGHT, WS_WIDTH+WG_WIDTH*9, P_HEIGHT*2, 09/*'i'*/}, // 戈
{WS_WIDTH+WG_WIDTH*9, P_HEIGHT, WS_WIDTH+WG_WIDTH*10, P_HEIGHT*2, 15/*'o'*/}, // 人
{WS_WIDTH+WG_WIDTH*10, P_HEIGHT, WS_WIDTH+WG_WIDTH*11, P_HEIGHT*2, 16/*'p'*/}, // 心
{WS_WIDTH+WG_WIDTH*11, P_HEIGHT, WS_WIDTH+WG_WIDTH*12, P_HEIGHT*2, '@'},
{WS_WIDTH+WG_WIDTH*12, P_HEIGHT, WS_WIDTH+WG_WIDTH*15, P_HEIGHT*2, CJ_KEY_DELETE},
//第三行
{0, P_HEIGHT*2, WG_WIDTH, P_HEIGHT*3, KEY_MAKEWORD},
{WG_WIDTH, P_HEIGHT*2, WS_WIDTH+WG_WIDTH, P_HEIGHT*3, KEY_SYMBOL},
{WS_WIDTH+WG_WIDTH, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*2, P_HEIGHT*3, 01/*'a'*/}, // 日
{WS_WIDTH+WG_WIDTH*2, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*3, P_HEIGHT*3, 19/*'s'*/}, // 尸
{WS_WIDTH+WG_WIDTH*3, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*4, P_HEIGHT*3, 04/*'d'*/}, // 木
{WS_WIDTH+WG_WIDTH*4, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*5, P_HEIGHT*3, 06/*'f'*/}, // 火
{WS_WIDTH+WG_WIDTH*5, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*6, P_HEIGHT*3, 07/*'g'*/}, // 土
{WS_WIDTH+WG_WIDTH*6, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*7, P_HEIGHT*3, 08/*'h'*/}, // 竹
{WS_WIDTH+WG_WIDTH*7, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*8, P_HEIGHT*3, 10/*'j'*/}, // 十
{WS_WIDTH+WG_WIDTH*8, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*9, P_HEIGHT*3, 11/*'k'*/}, // 大
{WS_WIDTH+WG_WIDTH*9, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*10, P_HEIGHT*3, 12/*'l'*/}, // 巾
{WS_WIDTH+WG_WIDTH*10, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*11, P_HEIGHT*3, 0xa146/*0xbba3*/}, // ;
{WS_WIDTH+WG_WIDTH*11, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*12, P_HEIGHT*3, 0xa147/*0xbaa3*/}, // :
{WS_WIDTH+WG_WIDTH*12, P_HEIGHT*2, WS_WIDTH+WG_WIDTH*15, P_HEIGHT*3, CJ_KEY_ENTER},
//第四行
{0, P_HEIGHT*3, WS_WIDTH+WG_WIDTH, P_HEIGHT*4, CJ_KEY_CAPSLOCK},
{WS_WIDTH+WG_WIDTH, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*2, P_HEIGHT*4, 26/*'z'*/}, // 重
{WS_WIDTH+WG_WIDTH*2, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*3, P_HEIGHT*4, 24/*'x'*/}, // 难
{WS_WIDTH+WG_WIDTH*3, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*4, P_HEIGHT*4, 03/*'c'*/}, // 金
{WS_WIDTH+WG_WIDTH*4, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*5, P_HEIGHT*4, 22/*'v'*/}, // 女
{WS_WIDTH+WG_WIDTH*5, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*6, P_HEIGHT*4, 02/*'b'*/}, // 月
{WS_WIDTH+WG_WIDTH*6, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*7, P_HEIGHT*4, 14/*'n'*/}, // 弓
{WS_WIDTH+WG_WIDTH*7, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*8, P_HEIGHT*4, 13/*'m'*/}, // 一
{WS_WIDTH+WG_WIDTH*8, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*9, P_HEIGHT*4, 0xa141/*0xaca3*/}, // ,
{WS_WIDTH+WG_WIDTH*9, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*10, P_HEIGHT*4, 0xa143/*0xa3a1*/}, // 。
{WS_WIDTH+WG_WIDTH*10, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*11, P_HEIGHT*4, '-'},
{WS_WIDTH+WG_WIDTH*11, P_HEIGHT*3, WS_WIDTH+WG_WIDTH*15, P_HEIGHT*4, CJ_KEY_SPACE}, // 空格
//end
{0,0,0,0,KEY_KBD_END}
};
#endif
static WORD ChangJieCodeMap[27] = {
// 日 月 金 木 水 火 土 竹 戈 十
0x0020, 0xa4e9, 0xa4eb, 0xaaf7, 0xa4ec, 0xa4f4, 0xa4f5, 0xa467, 0xa6cb, 0xa4e0, 0xa451,
// 大 中 一 弓 人 心 手 口 尸 廿 山
0xa46a, 0xa4a4, 0xa440, 0xa47d, 0xa448, 0xa4df, 0xa4e2, 0xa466, 0xa472, 0xa4dc, 0xa473,
// 女 田 难 卜 重
0xa46b, 0xa5d0, 0xc3f8, 0xa452, 0xadab
};
unsigned char KBDBMP_CJ[]=
{
0x0, 0xf0, 0x0, 0x3d, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xc0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x30,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x3, 0xc0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x30,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -