Macroify GRUB_TERM_NO_KEY and use grub_checkkey in grub_getkey

This commit is contained in:
Vladimir 'phcoder' Serbinenko committed 2010-08-23 12:53:42 +02:00
1 parent df2174dded
commit 9518e2a12b
7 files changed
+39 -47

No files matched your search

+6 -5
View File
@@ -475,14 +475,15 @@ grub_keyboard_getkey (void)
return key;
}
/* If there is a character pending, return it; otherwise return -1. */
/* If there is a character pending, return it;
otherwise return GRUB_TERM_NO_KEY. */
static int
grub_at_keyboard_getkey (struct grub_term_input *term __attribute__ ((unused)))
{
int code;
code = grub_keyboard_getkey ();
if (code == -1)
return -1;
return GRUB_TERM_NO_KEY;
#ifdef DEBUG_AT_KEYBOARD
grub_dprintf ("atkeyb", "Detected key 0x%x\n", key);
#endif
@@ -496,7 +497,7 @@ grub_at_keyboard_getkey (struct grub_term_input *term __attribute__ ((unused)))
#ifdef DEBUG_AT_KEYBOARD
grub_dprintf ("atkeyb", "caps_lock = %d\n", !!(at_keyboard_status & KEYBOARD_STATUS_CAPS_LOCK));
#endif
return -1;
return GRUB_TERM_NO_KEY;
case GRUB_KEYBOARD_KEY_NUM_LOCK:
at_keyboard_status ^= GRUB_TERM_STATUS_NUM;
led_status ^= KEYBOARD_LED_NUM;
@@ -505,12 +506,12 @@ grub_at_keyboard_getkey (struct grub_term_input *term __attribute__ ((unused)))
#ifdef DEBUG_AT_KEYBOARD
grub_dprintf ("atkeyb", "num_lock = %d\n", !!(at_keyboard_status & KEYBOARD_STATUS_NUM_LOCK));
#endif
return -1;
return GRUB_TERM_NO_KEY;
case GRUB_KEYBOARD_KEY_SCROLL_LOCK:
at_keyboard_status ^= GRUB_TERM_STATUS_SCROLL;
led_status ^= KEYBOARD_LED_SCROLL;
keyboard_controller_led (led_status);
return -1;
return GRUB_TERM_NO_KEY;
default:
return grub_term_map_key (code, at_keyboard_status);
}
+2 -2
View File
@@ -120,14 +120,14 @@ grub_console_getkey (struct grub_term_input *term __attribute__ ((unused)))
status = efi_call_2 (i->read_key_stroke, i, &key);
if (status != GRUB_EFI_SUCCESS)
return -1;
return GRUB_TERM_NO_KEY;
if (key.scan_code == 0)
return key.unicode_char;
else if (key.scan_code < ARRAY_SIZE (efi_codes))
return efi_codes[key.scan_code];
return -1;
return GRUB_TERM_NO_KEY;
}
static grub_uint16_t
+1 -1
View File
@@ -490,7 +490,7 @@ grub_terminfo_getkey (struct grub_term_input *termi)
return data->input_buf[0];
}
return -1;
return GRUB_TERM_NO_KEY;
}
grub_err_t
+7 -7
View File
@@ -279,7 +279,7 @@ grub_usb_keyboard_getkey (struct grub_term_input *term)
grub_size_t actual;
if (termdata->dead)
return -1;
return GRUB_TERM_NO_KEY;
/* Poll interrupt pipe. */
err = grub_usb_check_transfer (termdata->transfer, &actual);
@@ -293,7 +293,7 @@ grub_usb_keyboard_getkey (struct grub_term_input *term)
+ GRUB_TERM_REPEAT_INTERVAL;
return termdata->last_key;
}
return -1;
return GRUB_TERM_NO_KEY;
}
grub_memcpy (data, termdata->report, sizeof (data));
@@ -318,29 +318,29 @@ grub_usb_keyboard_getkey (struct grub_term_input *term)
data[4], data[5], data[6], data[7]);
if (err || actual < 1)
return -1;
return GRUB_TERM_NO_KEY;
termdata->status = data[0];
if (actual < 3)
return -1;
return GRUB_TERM_NO_KEY;
if (data[2] == KEY_NO_KEY || data[2] == KEY_ERR_BUFFER
|| data[2] == KEY_ERR_POST || data[2] == KEY_ERR_UNDEF)
return -1;
return GRUB_TERM_NO_KEY;
if (data[2] == KEY_CAPS_LOCK)
{
termdata->mods ^= GRUB_TERM_STATUS_CAPS;
send_leds (termdata);
return -1;
return GRUB_TERM_NO_KEY;
}
if (data[2] == KEY_NUM_LOCK)
{
termdata->mods ^= GRUB_TERM_STATUS_NUM;
send_leds (termdata);
return -1;
return GRUB_TERM_NO_KEY;
}
termdata->last_key = grub_term_map_key (data[2], interpret_status (data[0])