- if ((c >= numberof(asctosc)) || (c < 0)) {
- ExitString(stderr,
- "Unable to locate function in termout.c, AddChar()\n", 1);
- /*NOTREACHED*/
- } else {
- switch (asctosc[c].shift) {
- case cantdo:
- if (c == ' ') {
- *ourPTail++ = asctosc[TC_SPACE].scancode;
- } else {
- RingBell("Keyboard not capable of function.");
- }
- break;
- case normal:
- *ourPTail++ = asctosc[c].scancode;
- break;
- case shifted:
- *ourPTail++ = asctosc[TC_MAKE_SHIFT].scancode;
- *ourPTail++ = asctosc[c].scancode;
- *ourPTail++ = asctosc[TC_BREAK_SHIFT].scancode;
- break;
- case alted:
- *ourPTail++ = asctosc[TC_MAKE_ALT].scancode;
- *ourPTail++ = asctosc[c].scancode;
- *ourPTail++ = asctosc[TC_BREAK_ALT].scancode;
- break;
- case shiftalted:
- *ourPTail++ = asctosc[TC_MAKE_SHIFT].scancode;
- *ourPTail++ = asctosc[TC_MAKE_ALT].scancode;
- *ourPTail++ = asctosc[c].scancode;
- *ourPTail++ = asctosc[TC_BREAK_ALT].scancode;
- *ourPTail++ = asctosc[TC_BREAK_SHIFT].scancode;
- break;
- default:
- ExitString(stderr,
- "Illegal 'shift' to AddChar() in termin.c\n", 1);
- }
- }