home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
cenvi23.zip
/
SCANCODE.LIB
< prev
next >
Wrap
Text File
|
1994-08-14
|
2KB
|
61 lines
// ScanCode.lib - Return the keyboard scan code for a character
// ver.1
//
//**** GetScanCode(): Return scan code for any ascii character
// SYNTAX: byte GetScanCode(byte AsciiChar)
// WHERE: AsciiChar: ascii representation of character, such as 'A'
// RETURN: Byte representing the scan code for that character
//
//
gAsciiScans = "\x1E\x30\x2E\x20\x12\x21\x22\x23\x17\x24\x25\x26\x32\x31\x18\x19\x10\x13\x1F\x14\x16\x2F\x11\x2D\x15\x2C";
gNumberScans = "\x0B\x02\x03\x04\x05\x06\x07\x08\x09\x0A";
GetScanCode(pCharCode)
{
if ( 'A' <= toupper(pCharCode) && toupper(pCharCode) <= 'Z' )
return gAsciiScans[toupper(pCharCode)-'A'];
if ( '0' <= pCharCode && pCharCode <= '9' )
return gNumberScans[pCharCode - '0'];
switch ( pCharCode ) {
case '\r': return '\x1C';
case '\t': return '\x0F';
case '\b': return '\x0E';
case '~':
case '`': '\x29';
case '!': return GetScanCode('1');
case '@': return GetScanCode('2');
case '#': return GetScanCode('3');
case '$': return GetScanCode('4');
case '%': return GetScanCode('5');
case '^': return GetScanCode('6');
case '&': return GetScanCode('7');
case '*': return GetScanCode('8');
case '(': return GetScanCode('9');
case ')': return GetScanCode('0');
case '_':
case '-': return '\x0C';
case '+':
case '=': return '\x0D';
case '|':
case '\\': return '\x2B';
case '{':
case '[': return '\x1A';
case '}':
case ']': return '\x1B';
case ':'
case ';' return '\x27';
case '\"':
case '\'': return '\x28';
case '<':
case ',': return '\x33';
case '>':
case '.': return '\x34';
case '?':
case '/': return '\x35';
case '\033': return '\1';
}
return('\0');
}