From cdf848f04932c6945cb0a27c10d8860e883745cc Mon Sep 17 00:00:00 2001 From: Grazvydas Ignotas Date: Sun, 16 Jan 2011 19:46:04 +0200 Subject: [PATCH] show keys that have been checked --- op_test_inputs.c | 152 ++++++++++++++++++++++++++--------------------- 1 file changed, 85 insertions(+), 67 deletions(-) diff --git a/op_test_inputs.c b/op_test_inputs.c index a4af31a..6db1b07 100644 --- a/op_test_inputs.c +++ b/op_test_inputs.c @@ -43,77 +43,78 @@ typedef struct { int x, y; int code; - int active; + unsigned int active:1; + unsigned int tested:1; const char *name; } key_item; static key_item key_items[] = { - { 66, 26, KEY_1, 0, "1" }, - { 133, 26, KEY_2, 0, "2" }, - { 200, 26, KEY_3, 0, "3" }, - { 266, 26, KEY_4, 0, "4" }, - { 333, 26, KEY_5, 0, "5" }, - { 400, 26, KEY_6, 0, "6" }, - { 466, 26, KEY_7, 0, "7" }, - { 533, 26, KEY_8, 0, "8" }, - { 600, 26, KEY_9, 0, "9" }, - { 666, 26, KEY_0, 0, "0" }, - { 733, 26, KEY_BACKSPACE, 0, "DEL" }, + { 66, 26, KEY_1, 0, 0, "1" }, + { 133, 26, KEY_2, 0, 0, "2" }, + { 200, 26, KEY_3, 0, 0, "3" }, + { 266, 26, KEY_4, 0, 0, "4" }, + { 333, 26, KEY_5, 0, 0, "5" }, + { 400, 26, KEY_6, 0, 0, "6" }, + { 466, 26, KEY_7, 0, 0, "7" }, + { 533, 26, KEY_8, 0, 0, "8" }, + { 600, 26, KEY_9, 0, 0, "9" }, + { 666, 26, KEY_0, 0, 0, "0" }, + { 733, 26, KEY_BACKSPACE, 0, 0, "DEL" }, // - { 10, 55, KEY_RIGHTSHIFT,0, "L" }, - { 10, 75, KEY_KPPLUS, 0, "L2" }, - { 758, 55, KEY_RIGHTCTRL, 0, "R" }, - { 758, 75, KEY_KPMINUS, 0, "R2" }, - { 10, 220, KEY_POWER, 0, "POWER" }, - { 10, 240, KEY_COFFEE, 0, "HOLD" }, + { 10, 55, KEY_RIGHTSHIFT,0, 0, "L" }, + { 10, 75, KEY_KPPLUS, 0, 0, "L2" }, + { 758, 55, KEY_RIGHTCTRL, 0, 0, "R" }, + { 758, 75, KEY_KPMINUS, 0, 0, "R2" }, + { 10, 220, KEY_POWER, 0, 0, "POWER" }, + { 10, 240, KEY_COFFEE, 0, 0, "HOLD" }, // - { 130, 94, KEY_UP, 0, "U" }, - { 80, 163, KEY_LEFT, 0, "L" }, - { 180, 163, KEY_RIGHT, 0, "R" }, - { 130, 232, KEY_DOWN, 0, "D" }, - { 376, 94, KEY_LEFTALT,0, "ALT" }, - { 368, 163, KEY_LEFTCTRL,0,"CTRL" }, - { 368, 232, KEY_MENU, 0, "MENU" }, - { 700, 94, KEY_PAGEUP, 0, "1" }, - { 650, 163, KEY_HOME, 0, "4" }, - { 750, 163, KEY_END, 0, "2" }, - { 700, 232, KEY_PAGEDOWN,0, "3" }, + { 130, 94, KEY_UP, 0, 0, "U" }, + { 80, 163, KEY_LEFT, 0, 0, "L" }, + { 180, 163, KEY_RIGHT, 0, 0, "R" }, + { 130, 232, KEY_DOWN, 0, 0, "D" }, + { 376, 94, KEY_LEFTALT,0, 0, "ALT" }, + { 368, 163, KEY_LEFTCTRL,0,0, "CTRL" }, + { 368, 232, KEY_MENU, 0, 0, "MENU" }, + { 700, 94, KEY_PAGEUP, 0, 0, "Y" }, + { 650, 163, KEY_HOME, 0, 0, "A" }, + { 750, 163, KEY_END, 0, 0, "B" }, + { 700, 232, KEY_PAGEDOWN,0,0, "X" }, // - { 92, 300, KEY_Q, 0, "Q" }, - { 158, 300, KEY_W, 0, "W" }, - { 225, 300, KEY_E, 0, "E" }, - { 292, 300, KEY_R, 0, "R" }, - { 358, 300, KEY_T, 0, "T" }, - { 425, 300, KEY_Y, 0, "Y" }, - { 492, 300, KEY_U, 0, "U" }, - { 558, 300, KEY_I, 0, "I" }, - { 625, 300, KEY_O, 0, "O" }, - { 692, 300, KEY_P, 0, "P" }, + { 92, 300, KEY_Q, 0, 0, "Q" }, + { 158, 300, KEY_W, 0, 0, "W" }, + { 225, 300, KEY_E, 0, 0, "E" }, + { 292, 300, KEY_R, 0, 0, "R" }, + { 358, 300, KEY_T, 0, 0, "T" }, + { 425, 300, KEY_Y, 0, 0, "Y" }, + { 492, 300, KEY_U, 0, 0, "U" }, + { 558, 300, KEY_I, 0, 0, "I" }, + { 625, 300, KEY_O, 0, 0, "O" }, + { 692, 300, KEY_P, 0, 0, "P" }, // - { 30, 369, KEY_LEFTSHIFT, 0, "SHIFT" }, - { 133, 369, KEY_A, 0, "A" }, - { 200, 369, KEY_S, 0, "S" }, - { 266, 369, KEY_D, 0, "D" }, - { 333, 369, KEY_F, 0, "F" }, - { 400, 369, KEY_G, 0, "G" }, - { 466, 369, KEY_H, 0, "H" }, - { 533, 369, KEY_J, 0, "J" }, - { 600, 369, KEY_K, 0, "K" }, - { 666, 369, KEY_L, 0, "L" }, - { 710, 369, KEY_ENTER, 0, "ENTER" }, + { 30, 369, KEY_LEFTSHIFT, 0, 0, "SHIFT" }, + { 133, 369, KEY_A, 0, 0, "A" }, + { 200, 369, KEY_S, 0, 0, "S" }, + { 266, 369, KEY_D, 0, 0, "D" }, + { 333, 369, KEY_F, 0, 0, "F" }, + { 400, 369, KEY_G, 0, 0, "G" }, + { 466, 369, KEY_H, 0, 0, "H" }, + { 533, 369, KEY_J, 0, 0, "J" }, + { 600, 369, KEY_K, 0, 0, "K" }, + { 666, 369, KEY_L, 0, 0, "L" }, + { 710, 369, KEY_ENTER, 0, 0, "ENTER" }, // - { 25, 437, KEY_COMMA, 0, "," }, - { 92, 437, KEY_DOT, 0, "." }, - { 158, 437, KEY_Z, 0, "Z" }, - { 225, 437, KEY_X, 0, "X" }, - { 292, 437, KEY_C, 0, "C" }, - { 358, 437, KEY_V, 0, "V" }, - { 425, 437, KEY_B, 0, "B" }, - { 492, 437, KEY_N, 0, "N" }, - { 558, 437, KEY_M, 0, "M" }, - { 625, 437, KEY_SPACE, 0, "SPACE" }, - { 758, 437, KEY_FN, 0, "Fn" }, + { 25, 437, KEY_COMMA, 0, 0, "," }, + { 92, 437, KEY_DOT, 0, 0, "." }, + { 158, 437, KEY_Z, 0, 0, "Z" }, + { 225, 437, KEY_X, 0, 0, "X" }, + { 292, 437, KEY_C, 0, 0, "C" }, + { 358, 437, KEY_V, 0, 0, "V" }, + { 425, 437, KEY_B, 0, 0, "B" }, + { 492, 437, KEY_N, 0, 0, "N" }, + { 558, 437, KEY_M, 0, 0, "M" }, + { 625, 437, KEY_SPACE, 0, 0, "SPACE" }, + { 758, 437, KEY_FN, 0, 0, "Fn" }, }; #define KI_COUNT (sizeof(key_items) / sizeof(key_items[0])) @@ -193,6 +194,7 @@ static void text_out16_small(unsigned short *fb, int x, int y, unsigned short co static void redraw_nubs(unsigned short *fb, int x1, int y1, int x2, int y2) { + static int range_hit; char buff[32]; int y; @@ -207,10 +209,24 @@ static void redraw_nubs(unsigned short *fb, int x1, int y1, int x2, int y2) text_out16(fb + 200, 32*2 + x1/8, 32*2 + y1/8, 0x001f, "@"); text_out16(fb + 450, 32*2 + x2/8, 32*2 + y2/8, 0x001f, "@"); - snprintf(buff, sizeof(buff), "%2i, %2i", x1/8, y1/8); - text_out16_small(fb, 245, 130, 0x7bef, buff); - snprintf(buff, sizeof(buff), "%2i, %2i", x2/8, y2/8); - text_out16_small(fb, 495, 130, 0x7bef, buff); + if (x1 == -256) range_hit |= 0x01; + if (x1 == 256) range_hit |= 0x02; + if (y1 == -256) range_hit |= 0x04; + if (y1 == 256) range_hit |= 0x08; + if (x2 == -256) range_hit |= 0x10; + if (x2 == 256) range_hit |= 0x20; + if (y2 == -256) range_hit |= 0x40; + if (y2 == 256) range_hit |= 0x80; + + snprintf(buff, sizeof(buff), "%3i", x1/8); + text_out16_small(fb, 235, 130, (range_hit & 0x03) == 0x03 ? 0xce6f : 0x7bef, buff); + snprintf(buff, sizeof(buff), "%3i", y1/8); + text_out16_small(fb, 270, 130, (range_hit & 0x0c) == 0x0c ? 0xce6f : 0x7bef, buff); + + snprintf(buff, sizeof(buff), "%3i", x2/8); + text_out16_small(fb, 485, 130, (range_hit & 0x30) == 0x30 ? 0xce6f : 0x7bef, buff); + snprintf(buff, sizeof(buff), "%3i", y2/8); + text_out16_small(fb, 520, 130, (range_hit & 0xc0) == 0xc0 ? 0xce6f : 0x7bef, buff); } static void redraw_keys_lid(unsigned short *fb) @@ -223,7 +239,8 @@ static void redraw_keys_lid(unsigned short *fb) key = &key_items[i]; text_out16(fb, key->x, key->y, - key->active ? 0x07e0 : 0x7bef, key->name); + key->active ? 0x07e0 : (key->tested ? 0xce6f : 0x7bef), + key->name); } text_out16(fb, 10, 260, lid_closed ? 0x07e0 : 0x7bef, "LID"); @@ -249,7 +266,8 @@ static void set_key(int code, int val) } else { - key->active = val; + key->active = !!val; + key->tested |= !!val; printf("%c %s\n", val ? '+' : '-', key->name); } } -- 2.39.5