#include "project.h" void send_ascii (unsigned char a) { switch (a) { #if 0 case '\0': keyboard_keypress (0x00, 0x00); break; case '\001': keyboard_keypress (0x00, 0x00); break; case '\002': keyboard_keypress (0x00, 0x00); break; case '\003': keyboard_keypress (0x00, 0x00); break; case '\004': keyboard_keypress (0x00, 0x00); break; case '\005': keyboard_keypress (0x00, 0x00); break; case '\006': keyboard_keypress (0x00, 0x00); break; case '\a': keyboard_keypress (0x00, 0x00); break; case '\b': keyboard_keypress (0x00, 0x00); break; #endif case '\t': keyboard_keypress (0x00, 0x2b); break; #if 0 case '\n': keyboard_keypress (0x00, 0x00); break; case '\v': keyboard_keypress (0x00, 0x00); break; case '\f': keyboard_keypress (0x00, 0x00); break; #endif case '\n': case '\r': keyboard_keypress (0x00, 0x28); break; #if 0 case '\016': keyboard_keypress (0x00, 0x00); break; case '\017': keyboard_keypress (0x00, 0x00); break; case '\020': keyboard_keypress (0x00, 0x00); break; case '\021': keyboard_keypress (0x00, 0x00); break; case '\022': keyboard_keypress (0x00, 0x00); break; case '\023': keyboard_keypress (0x00, 0x00); break; case '\024': keyboard_keypress (0x00, 0x00); break; case '\025': keyboard_keypress (0x00, 0x00); break; case '\026': keyboard_keypress (0x00, 0x00); break; case '\027': keyboard_keypress (0x00, 0x00); break; case '\030': keyboard_keypress (0x00, 0x00); break; case '\031': keyboard_keypress (0x00, 0x00); break; case '\032': keyboard_keypress (0x00, 0x00); break; case '\033': keyboard_keypress (0x00, 0x00); break; case '\034': keyboard_keypress (0x00, 0x00); break; case '\035': keyboard_keypress (0x00, 0x00); break; case '\036': keyboard_keypress (0x00, 0x00); break; case '\037': keyboard_keypress (0x00, 0x00); break; #endif case ' ': keyboard_keypress (0x00, 0x2c); break; case '!': keyboard_keypress (0x02, 0x1e); break; case '"': keyboard_keypress (0x02, 0x34); break; case '#': keyboard_keypress (0x02, 0x20); break; case '$': keyboard_keypress (0x02, 0x21); break; case '%': keyboard_keypress (0x02, 0x22); break; case '&': keyboard_keypress (0x02, 0x23); break; case '\047': keyboard_keypress (0x00, 0x34); break; case '(': keyboard_keypress (0x02, 0x26); break; case ')': keyboard_keypress (0x02, 0x27); break; case '*': keyboard_keypress (0x02, 0x25); break; case '+': keyboard_keypress (0x02, 0x2e); break; case ',': keyboard_keypress (0x00, 0x36); break; case '-': keyboard_keypress (0x00, 0x2d); break; case '.': keyboard_keypress (0x00, 0x37); break; case '/': keyboard_keypress (0x00, 0x38); break; case '0': keyboard_keypress (0x00, 0x27); break; case '1': keyboard_keypress (0x00, 0x1e); break; case '2': keyboard_keypress (0x00, 0x1f); break; case '3': keyboard_keypress (0x00, 0x20); break; case '4': keyboard_keypress (0x00, 0x21); break; case '5': keyboard_keypress (0x00, 0x22); break; case '6': keyboard_keypress (0x00, 0x23); break; case '7': keyboard_keypress (0x00, 0x24); break; case '8': keyboard_keypress (0x00, 0x25); break; case '9': keyboard_keypress (0x00, 0x26); break; case ':': keyboard_keypress (0x02, 0x33); break; case ';': keyboard_keypress (0x00, 0x33); break; case '<': keyboard_keypress (0x02, 0x36); break; case '=': keyboard_keypress (0x00, 0x2e); break; case '>': keyboard_keypress (0x02, 0x37); break; case '?': keyboard_keypress (0x02, 0x38); break; case '@': keyboard_keypress (0x02, 0x1f); break; case 'A': keyboard_keypress (0x02, 0x04); break; case 'B': keyboard_keypress (0x02, 0x05); break; case 'C': keyboard_keypress (0x02, 0x06); break; case 'D': keyboard_keypress (0x02, 0x07); break; case 'E': keyboard_keypress (0x02, 0x08); break; case 'F': keyboard_keypress (0x02, 0x09); break; case 'G': keyboard_keypress (0x02, 0x0a); break; case 'H': keyboard_keypress (0x02, 0x0b); break; case 'I': keyboard_keypress (0x02, 0x0c); break; case 'J': keyboard_keypress (0x02, 0x0d); break; case 'K': keyboard_keypress (0x02, 0x0e); break; case 'L': keyboard_keypress (0x02, 0x0f); break; case 'M': keyboard_keypress (0x02, 0x10); break; case 'N': keyboard_keypress (0x02, 0x11); break; case 'O': keyboard_keypress (0x02, 0x12); break; case 'P': keyboard_keypress (0x02, 0x13); break; case 'Q': keyboard_keypress (0x02, 0x14); break; case 'R': keyboard_keypress (0x02, 0x15); break; case 'S': keyboard_keypress (0x02, 0x16); break; case 'T': keyboard_keypress (0x02, 0x17); break; case 'U': keyboard_keypress (0x02, 0x18); break; case 'V': keyboard_keypress (0x02, 0x19); break; case 'W': keyboard_keypress (0x02, 0x1a); break; case 'X': keyboard_keypress (0x02, 0x1b); break; case 'Y': keyboard_keypress (0x02, 0x1c); break; case 'Z': keyboard_keypress (0x02, 0x1d); break; case '[': keyboard_keypress (0x00, 0x2f); break; case '\\': keyboard_keypress (0x00, 0x64); break; case ']': keyboard_keypress (0x00, 0x30); break; case '^': keyboard_keypress (0x02, 0x23); break; case '_': keyboard_keypress (0x02, 0x2d); break; case '`': keyboard_keypress (0x00, 0x32); break; case 'a': keyboard_keypress (0x00, 0x04); break; case 'b': keyboard_keypress (0x00, 0x05); break; case 'c': keyboard_keypress (0x00, 0x06); break; case 'd': keyboard_keypress (0x00, 0x07); break; case 'e': keyboard_keypress (0x00, 0x08); break; case 'f': keyboard_keypress (0x00, 0x09); break; case 'g': keyboard_keypress (0x00, 0x0a); break; case 'h': keyboard_keypress (0x00, 0x0b); break; case 'i': keyboard_keypress (0x00, 0x0c); break; case 'j': keyboard_keypress (0x00, 0x0d); break; case 'k': keyboard_keypress (0x00, 0x0e); break; case 'l': keyboard_keypress (0x00, 0x0f); break; case 'm': keyboard_keypress (0x00, 0x10); break; case 'n': keyboard_keypress (0x00, 0x11); break; case 'o': keyboard_keypress (0x00, 0x12); break; case 'p': keyboard_keypress (0x00, 0x13); break; case 'q': keyboard_keypress (0x00, 0x14); break; case 'r': keyboard_keypress (0x00, 0x15); break; case 's': keyboard_keypress (0x00, 0x16); break; case 't': keyboard_keypress (0x00, 0x17); break; case 'u': keyboard_keypress (0x00, 0x18); break; case 'v': keyboard_keypress (0x00, 0x19); break; case 'w': keyboard_keypress (0x00, 0x1a); break; case 'x': keyboard_keypress (0x00, 0x1b); break; case 'y': keyboard_keypress (0x00, 0x1c); break; case 'z': keyboard_keypress (0x00, 0x1d); break; case '{': keyboard_keypress (0x02, 0x2f); break; case '|': keyboard_keypress (0x02, 0x64); break; case '}': keyboard_keypress (0x02, 0x30); break; case '~': keyboard_keypress (0x02, 0x32); break; #if 0 case '\177': keyboard_keypress (0x00, 0x00); break; #endif } } void send_str (const char *c) { while (*c) send_ascii (*(c++)); }