Masz tam taki kod:
if(vKey >= 186 && vKey <= 222)
{
switch(vKey)
{
case 186: if(!bShift) ch = ';'; else ch = ':'; break;
case 187: if(!bShift) ch = '='; else ch = '+'; break;
case 188: if(!bShift) ch = ','; else ch = '<'; break;
case 189: if(!bShift) ch = '-'; else ch = '_'; break;
case 190: if(!bShift) ch = '.'; else ch = '>'; break;
case 191: if(!bShift) ch = '/'; else ch = '?'; break;
case 192: if(!bShift) ch = '`'; else ch = '~'; break;
case 219: if(!bShift) ch = '['; else ch = '{'; break;
case 220: if(!bShift) ch = '\\'; else ch = '?'; break;
case 221: if(!bShift) ch = ']'; else ch = '}'; break;
case 222: if(!bShift) ch = '\''; else ch = '\"'; break;
default: ch = 'n'; break;
}
Musisz go rozszerzyć o kolejne znaki:
! 49
@ 50
# 51
$ 52
% 53
^ 54
& 55
* 56
( 57
) 48
czyli dodać kolejny warunek:
if( vKey >= 48 && vKey <= 57 )
{
switch(vKey)
{
case 48: if(!bShift) ch = '0'; else ch = ')'; break;
case 49: if(!bShift) ch = '1'; else ch = '!'; break;
case 50: if(!bShift) ch = '2'; else ch = '@'; break;
case 51: if(!bShift) ch = '3'; else ch = '#'; break;
case 52: if(!bShift) ch = '4'; else ch = '$'; break;
case 53: if(!bShift) ch = '5'; else ch = '%'; break;
case 54: if(!bShift) ch = '6'; else ch = '^'; break;
case 55: if(!bShift) ch = '7'; else ch = '&'; break;
case 56: if(!bShift) ch = '8'; else ch = '*'; break;
case 57: if(!bShift) ch = '9'; else ch = '('; break;
default: ch = 'n'; break;
}
Gdybyś rozumiał kod, od razu byś na to wpadł.