diff options
Diffstat (limited to 'app/map.c')
-rw-r--r-- | app/map.c | 410 |
1 files changed, 410 insertions, 0 deletions
diff --git a/app/map.c b/app/map.c new file mode 100644 index 0000000..d63c171 --- /dev/null +++ b/app/map.c @@ -0,0 +1,410 @@ +#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++)); +} |