📄 asix_key.c
字号:
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( ( kbctrl->keycount%3 == 1 )&&( kbctrl->keycount != 1 ) )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
break;
case KEY_4:
Enable( kbctrl,KEY_4 );
if ( kbctrl->keycount == 1 )
{
TextOut(pGC,"G",kbctrl->x+18+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"H",kbctrl->x+18+kbctrl->boxw+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"I",kbctrl->x+18+kbctrl->boxw*2+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%3 == 2 )
{
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%3 == 0 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( ( kbctrl->keycount%3 == 1 )&&( kbctrl->keycount != 1 ) )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
break;
case KEY_5:
Enable( kbctrl,KEY_5 );
if ( kbctrl->keycount == 1 )
{
TextOut(pGC,"J",kbctrl->x+18+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"K",kbctrl->x+18+kbctrl->boxw+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"L",kbctrl->x+18+kbctrl->boxw*2+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%3 == 2 )
{
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%3 == 0 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( ( kbctrl->keycount%3 == 1 )&&( kbctrl->keycount != 1 ) )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
break;
case KEY_6:
Enable( kbctrl,KEY_6 );
if ( kbctrl->keycount == 1 )
{
TextOut(pGC,"M",kbctrl->x+18+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"N",kbctrl->x+18+kbctrl->boxw+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"O",kbctrl->x+18+kbctrl->boxw*2+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%3 == 2 )
{
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%3 == 0 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( ( kbctrl->keycount%3 == 1 )&&( kbctrl->keycount != 1 ) )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
break;
case KEY_7:
Enable( kbctrl,KEY_7 );
if ( kbctrl->keycount == 1 )
{
TextOut(pGC,"P",kbctrl->x+18+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"Q",kbctrl->x+18+kbctrl->boxw+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"R",kbctrl->x+18+kbctrl->boxw*2+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"S",kbctrl->x+18+kbctrl->boxw*3+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%4 == 2 )
{
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%4 == 3 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%4 == 0 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*3+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( ( kbctrl->keycount%4 == 1 )&&( kbctrl->keycount != 1 ) )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*3+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
break;
case KEY_8:
Enable( kbctrl,KEY_8 );
if ( kbctrl->keycount == 1 )
{
TextOut(pGC,"T",kbctrl->x+18+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"U",kbctrl->x+18+kbctrl->boxw+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"V",kbctrl->x+18+kbctrl->boxw*2+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%3 == 2 )
{
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%3 == 0 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( ( kbctrl->keycount%3 == 1 )&&( kbctrl->keycount != 1 ) )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
break;
case KEY_9:
Enable( kbctrl,KEY_9 );
if ( kbctrl->keycount == 1 )
{
TextOut(pGC,"W",kbctrl->x+18+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"X",kbctrl->x+18+kbctrl->boxw+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"Y",kbctrl->x+18+kbctrl->boxw*2+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"Z",kbctrl->x+18+kbctrl->boxw*3+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%4 == 2 )
{
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%4 == 3 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%4 == 0 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*3+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( ( kbctrl->keycount%4 == 1 )&&( kbctrl->keycount != 1 ) )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*3+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
break;
case KEY_Asterisk:
Enable( kbctrl,KEY_Asterisk );
if ( kbctrl->keycount == 1 )
{
TextOut(pGC,"+",kbctrl->x+18+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"-",kbctrl->x+18+kbctrl->boxw+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"*",kbctrl->x+18+kbctrl->boxw*2+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"/",kbctrl->x+18+kbctrl->boxw*3+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"=",kbctrl->x+18+kbctrl->boxw*4+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%5 == 2 )
{
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%5 == 3 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%5 == 4 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*3+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%5 == 0 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*3+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*4+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( ( kbctrl->keycount%5 == 1 )&&( kbctrl->keycount != 1 ) )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*4+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
break;
case KEY_NO:
Enable( kbctrl,KEY_NO );
if ( kbctrl->keycount == 1 )
{
TextOut(pGC,"#",kbctrl->x+18+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"`",kbctrl->x+18+kbctrl->boxw+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"^",kbctrl->x+18+kbctrl->boxw*2+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"_",kbctrl->x+18+kbctrl->boxw*3+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"|",kbctrl->x+18+kbctrl->boxw*4+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%5 == 2 )
{
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%5 == 3 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%5 == 4 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*2+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*3+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount%5 == 0 )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*3+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*4+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( ( kbctrl->keycount%5 == 1 )&&( kbctrl->keycount != 1 ) )
{
InvRec( pGC,kbctrl->x+18+kbctrl->boxw*4+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
break;
}
StartTimer( kbctrl->timerId );
}
}else
if( kbctrl->tabflag%4 == 2 )
{
if( kbctrl->keycount == 0 )
kbctrl->prekey=kbctrl->curkey;
if( kbctrl->prekey != kbctrl->curkey )
{
kb_msg.wparam=ProcessSmall( kbctrl );
Suspend( kbctrl );
kbctrl->keycount=0;
kbctrl->prekey=kbctrl->curkey;
//kb_msg.lparam=kbctrl->windowid;
//kb_msg.lparam=FocusWindow->wnd_id;
kb_msg.lparam=((ASIX_WINDOW *)GetFocus( ))->wnd_id;
kb_msg.message=WM_CHAR;
ClearRec( pGC,GPC_WHITE,kbctrl->x+18+1,kbctrl->y+1,
kbctrl->boxw*5,kbctrl->boxw,GPC_REPLACE_STYLE );
AdvSendMessage(GetCurTask()->id,(P_MESSAGE)(&kb_msg),NO_SWAP_TASK);
goto SHOW_NEW_CHAR_small;/* show the new char */
}
else
{
SHOW_NEW_CHAR_small:
kbctrl->keycount++;
switch( kbctrl->prekey )
{
case KEY_0:
Enable( kbctrl,KEY_0 );
if( kbctrl->keycount <= 5 )
{
SHOW_FIRST_5_CHAR_0_SMALL:
if ( kbctrl->keycount == 1 )
{
ClearRec( pGC,GPC_WHITE,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw*5,kbctrl->boxw,GPC_REPLACE_STYLE );
TextOut(pGC," ",kbctrl->x+18+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,".",kbctrl->x+18+kbctrl->boxw+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"!",kbctrl->x+18+kbctrl->boxw*2+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,"\"",kbctrl->x+18+kbctrl->boxw*3+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
TextOut(pGC,",",kbctrl->x+18+kbctrl->boxw*4+5,kbctrl->y+2,0,GPC_BLACK,GPC_REPLACE_STYLE);
InvRec( pGC,kbctrl->x+18+1,kbctrl->y+1,kbctrl->boxw,kbctrl->boxw);
}
else if ( kbctrl->keycount == 2 )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -