159 lines
1.4 KiB
C
159 lines
1.4 KiB
C
|
#include <stdio.h>
|
||
|
|
||
|
#define DN 0
|
||
|
#define UP 1
|
||
|
|
||
|
static char *keycode_table[] = {
|
||
|
"NULL",
|
||
|
"ESC",
|
||
|
"1",
|
||
|
"2",
|
||
|
"3",
|
||
|
"4",
|
||
|
"5",
|
||
|
"6",
|
||
|
"7",
|
||
|
"8",
|
||
|
"9",
|
||
|
"0",
|
||
|
"-",
|
||
|
"=",
|
||
|
"BS",
|
||
|
"TAB",
|
||
|
"Q",
|
||
|
"W",
|
||
|
"E",
|
||
|
"R",
|
||
|
"T",
|
||
|
"Y",
|
||
|
"U",
|
||
|
"I",
|
||
|
"O",
|
||
|
"P",
|
||
|
"[",
|
||
|
"]",
|
||
|
"ENTER",
|
||
|
"L CTRL",
|
||
|
"A",
|
||
|
"S",
|
||
|
"D",
|
||
|
"F",
|
||
|
"G",
|
||
|
"H",
|
||
|
"J",
|
||
|
"K",
|
||
|
"L",
|
||
|
";",
|
||
|
"'",
|
||
|
"`",
|
||
|
"L SHIFT",
|
||
|
"\\",
|
||
|
"Z",
|
||
|
"X",
|
||
|
"C",
|
||
|
"V",
|
||
|
"B",
|
||
|
"N",
|
||
|
"M",
|
||
|
",",
|
||
|
".",
|
||
|
"/",
|
||
|
"R SHIFT",
|
||
|
"*",
|
||
|
"L ALT",
|
||
|
"SPACE",
|
||
|
"CAPS LOCK",
|
||
|
"F1",
|
||
|
"F2",
|
||
|
"F3",
|
||
|
"F4",
|
||
|
"F5",
|
||
|
"F6",
|
||
|
"F7",
|
||
|
"F8",
|
||
|
"F9",
|
||
|
"F10",
|
||
|
"NUM LOCK",
|
||
|
"SCROLL LOCK",
|
||
|
"HOME 7",
|
||
|
"UP 8",
|
||
|
"PGUP 9",
|
||
|
"-",
|
||
|
"LEFT 4",
|
||
|
"KP 5",
|
||
|
"RT ARROW 6",
|
||
|
"+",
|
||
|
"END 1",
|
||
|
"DOWN 2",
|
||
|
"PGDN 3",
|
||
|
"INS",
|
||
|
"DEL",
|
||
|
"84",
|
||
|
"85",
|
||
|
"86",
|
||
|
"F11",
|
||
|
"F12",
|
||
|
"89",
|
||
|
"90",
|
||
|
"91",
|
||
|
"92",
|
||
|
"93",
|
||
|
"94",
|
||
|
"95",
|
||
|
"R ENTER",
|
||
|
"R CTRL",
|
||
|
"/",
|
||
|
"PRT SCR",
|
||
|
"R ALT",
|
||
|
"101",
|
||
|
"Home",
|
||
|
"Up",
|
||
|
"PgUp",
|
||
|
"Left",
|
||
|
"Right",
|
||
|
"End",
|
||
|
"Down",
|
||
|
"PgDn",
|
||
|
"Insert",
|
||
|
"Del",
|
||
|
"112",
|
||
|
"113",
|
||
|
"114",
|
||
|
"115",
|
||
|
"116",
|
||
|
"117",
|
||
|
"118",
|
||
|
"Pause"
|
||
|
};
|
||
|
|
||
|
int main()
|
||
|
{
|
||
|
FILE *f;
|
||
|
char c;
|
||
|
int ev = 0;
|
||
|
|
||
|
f = fopen("/dev/ttyUSB1", "rwb");
|
||
|
|
||
|
if (f) {
|
||
|
while (1) {
|
||
|
c = getc(f);
|
||
|
|
||
|
if (c < 0) {
|
||
|
c += 128;
|
||
|
ev = DN;
|
||
|
} else {
|
||
|
ev = UP;
|
||
|
}
|
||
|
|
||
|
printf("Key %3d (%s) %s\n",
|
||
|
c, keycode_table[c], (ev == UP ? "UP" : "DOWN"));
|
||
|
}
|
||
|
|
||
|
fclose(f);
|
||
|
} else {
|
||
|
fprintf(stderr, "Error: Could not open serial device.");
|
||
|
}
|
||
|
|
||
|
return 0;
|
||
|
}
|