#include "mince.gbl"

MapFuncKey(){

	if(!(cmnd & 0200))
		return;
	switch(cmnd &= ~0200){
	case 'I':				/* Pg Up */
		cmnd = 26;		/* C-Z */
		break;
	case '\004':				/* Shift Pg Up */
		cmnd = 256+26;		/* C-X C-Z */
		break;
	case 'Q':				/* Pg Dn */
		cmnd = 22;		/* C-V */
		break;
	case 'v':				/* Shift Pg Dn */
		cmnd = 256+22;		/* C-X C-V */
		break;
	case 'K':				/* left arrow */
		cmnd = 2;			/* C-B */
		break;
	case 's':				/* Shift left arrow */
		cmnd = 1;			/* C-A */
		break;
	case 'H':				/* up arrow */
		cmnd = 16;		/* C-P */
		break;
	case 'P':				/* down arrow */
		cmnd = 14;		/* C-N */
		break;
	case 'M':				/* right arrow */
		cmnd = 6;			/* C-F */
		break;
	case 't':				/* Shift right arrow */
		cmnd = 5;			/* C-E */
		break;
	case 'G':				/* Home */
		cmnd = 128 + '<';	/* M-< */
		break;
	case 'O':				/* End */
		cmnd = 128 + '>';	/* M-> */
		break;
	case 'R':				/* Ins */
		cmnd = 15;		/* C-O */
		break;
	case 'S':				/* Del */
		cmnd = 11;		/* C-K */
		break;
	case ';':				/* F1 */
		cmnd = 128 + 29;    /* M-C-] */
		break;
	case '<':				/* F2 */
		cmnd = 256 + 'b';	/* C-X B */
		break;
	case '=':				/* F3 */
		cmnd = 128 + ' ';	/* M-  */
		break;
	case '>':				/* F4 */
		cmnd = 256 + '2';	/* C-X 2 */
		break;
	case '?':				/* F5 */
		cmnd = 128 + 'Q';	/* M-Q */
		break;
	case '@':				/* F6 */
		cmnd = 19;		/* C-S */
		break;
	case 'A':				/* F7 */
		cmnd = 256 + 6;	/* C-X C-F */
		break;
	case 'B':				/* F8 */
		cmnd = 256 + 19;	/* C-X C-S */
		break;
	case 'C':				/* F9 */
		cmnd = 128 + 1;	/* M-C-A (not implemented) */
		break;
	case 'D':				/* F10 */
		cmnd = 256 + 3;	/* C-X C-C */
		break;
	case 'T':				/* Shift F1 */
		cmnd = 128 + 30;    /* M-C-^ */
		break;
	case 'U':				/* Shift F2 */
		cmnd = 256 + 2;	/* C-X C-B */
		break;
	case 'V':				/* Shift F3 */
		cmnd = 25;		/* C-Y */
		break;
	case 'W':				/* Shift F4 */
		cmnd = 256 + 'o';	/* C-X O */
		break;
	case 'X':				/* Shift F5 */
		cmnd = 128 + 's';	/* M-S */
		break;
	case 'Y':				/* Shift F6 */
		cmnd = 18;		/* C-R */
		break;
	case 'Z':				/* Shift F7 */
		cmnd = 256 + 18;	/* C-X C-R */
		break;
	case '[':				/* Shift F8 */
		cmnd = 256 + 23;	/* C-X C-W */
		break;
	case '\\':			/* Shift F9 */
		cmnd = 128 + 1;	/* M-C-A (not implemented) */
		break;
	case ']':				/* Shift F10 */
		cmnd = 21;		/* C-U */
		break;
	case '^':				/* Ctrl F1 */
		cmnd = 128 + 31;    /* M-C-_ */
		break;
	case '_':				/* Ctrl F2 */
		cmnd = 256 + 'k';	/* C-X K */
		break;
	case '`':				/* Ctrl F3 */
		cmnd = 128 + 'w';	/* M-W */
		break;
	case 'a':				/* Ctrl F4 */
		cmnd = 256 + '1';	/* C-X 1 */
		break;
	case 'b':				/* Ctrl F5 */
		cmnd = 256 + 'f';	/* C-X F */
		break;
	case 'c':				/* Ctrl F6 */
		cmnd = 128 + 18;	/* M-C-R */
		break;
	case 'd':				/* Ctrl F7 */
		cmnd = 256 + 'i';	/* C-X I */
		break;
	case 'e':				/* Ctrl F8 */
		cmnd = 256 + 'r';	/* C-X R */
		break;
	case 'f':				/* Ctrl F9 */
		cmnd = 128 + 1;	/* M-C-A (not implemented) */
		break;
	case 'g':				/* Ctrl F10 */
		cmnd = 256 + 's';	/* C-X S */
		break;
	case 'h':				/* Alt F1 */
		cmnd = 128 + 27;    /* M-C-[ */
		break;
	case 'i':				/* Alt F2 */
		cmnd = 23;		/* C-W */
		break;
	case 'j':				/* Alt F3 */
		cmnd = 128 + '@';	/* M-@ */
		break;
	case 'k':				/* Alt F4 */
		cmnd = 256 + '^';	/* C-X ^ */
		break;
	case 'l':				/* Alt F5 */
		cmnd = 256 + '.';	/* C-X . */
		break;
	case 'm':				/* Alt F6 */
		cmnd = 128 + 'r';	/* M-R */
		break;
	case 'n':				/* Alt F7 */
		cmnd = 256 + 'd';	/* C-X D */
		break;
	case 'o':				/* Alt F8 */
		cmnd = 256 + 16;	/* C-X C-P */
		break;
	case 'p':				/* Alt F9 */
		cmnd = 128 + 1;	/* M-C-A (not implemented) */
		break;
	case 'q':				/* Alt F10 */
		cmnd = 256 + '=';	/* C-X = */
		break;
	}
}
