keys.cpp keys.h #include"keys.h" charOpenArena::KeyToASCII(Keyskey,boolshift) { if(key==KEY_UNKNOWN) { return'\0'; } else { switch(key) { caseKEY_OEM_1: if(shift) { return':'; } else { return';'; } caseKEY_OEM_2: if(shift) { return'?'; } else { return'/'; } caseKEY_OEM_3: if(shift) { return'~'; } else { return'`'; } caseKEY_OEM_4: if(shift) { return'{'; } else { return'['; } caseKEY_OEM_5: if(shift) { return'|'; } else { return'\\'; } caseKEY_OEM_6: if(shift) { return'}'; } else { return']'; } caseKEY_OEM_7: if(shift) { return'\''; } else { return'"'; } caseKEY_OEM_PERIOD: if(shift) { return'>'; } else { return'.'; } caseKEY_OEM_PLUS: if(shift) { return'+'; } else { return'='; } caseKEY_OEM_COMMA: if(shift) { return'<'; } else { return','; } caseKEY_OEM_MINUS: if(shift) { return'_'; } else { return'-'; } default: if(key>=KEY_A&&key<=KEY_Z) { if(shift) { returnkey-KEY_A+'A'; } else { returnkey-KEY_A+'a'; } } elseif(key>=KEY_0&&key<=KEY_9) { if(shift) { switch(key-KEY_0) { case0: return')'; case1: return'!'; case2: return'@'; case3: return'#'; case4: return'$'; case5: return'%'; case6: return'^'; case7: return'&'; case8: return'*'; case9: return'('; } } else { returnkey-KEY_0+'0'; } } else { return'\0'; } } } return'\0'; }