commit-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[2613] 2009-09-24 Robert Millan <address@hidden>


From: Robert Millan
Subject: [2613] 2009-09-24 Robert Millan <address@hidden>
Date: Thu, 24 Sep 2009 13:25:10 +0000

Revision: 2613
          http://svn.sv.gnu.org/viewvc/?view=rev&root=grub&revision=2613
Author:   robertmh
Date:     2009-09-24 13:25:07 +0000 (Thu, 24 Sep 2009)
Log Message:
-----------
2009-09-24  Robert Millan  <address@hidden>

        Fix "lost keypress" bug in at_keyboard.

        * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
        Checks for readyness of input buffer (without flushing it).
        (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
        than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.

Modified Paths:
--------------
    trunk/grub2/ChangeLog
    trunk/grub2/term/i386/pc/at_keyboard.c

Modified: trunk/grub2/ChangeLog
===================================================================
--- trunk/grub2/ChangeLog       2009-09-24 13:22:19 UTC (rev 2612)
+++ trunk/grub2/ChangeLog       2009-09-24 13:25:07 UTC (rev 2613)
@@ -1,5 +1,14 @@
 2009-09-24  Robert Millan  <address@hidden>
 
+       Fix "lost keypress" bug in at_keyboard.
+
+       * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
+       Checks for readyness of input buffer (without flushing it).
+       (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
+       than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
+
+2009-09-24  Robert Millan  <address@hidden>
+
        * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
        size check within GRUB_MACHINE_PCBIOS section.
 

Modified: trunk/grub2/term/i386/pc/at_keyboard.c
===================================================================
--- trunk/grub2/term/i386/pc/at_keyboard.c      2009-09-24 13:22:19 UTC (rev 
2612)
+++ trunk/grub2/term/i386/pc/at_keyboard.c      2009-09-24 13:25:07 UTC (rev 
2613)
@@ -190,6 +190,13 @@
 }
 
 static int
+grub_at_keyboard_checkkey (void)
+{
+  /* FIXME: this will be triggered by BREAK events.  */
+  return KEYBOARD_ISREADY (grub_inb (KEYBOARD_REG_STATUS)) ? 1 : -1;
+}
+
+static int
 grub_at_keyboard_getkey (void)
 {
   int key;
@@ -220,8 +227,7 @@
     .name = "at_keyboard",
     .init = grub_keyboard_controller_init,
     .fini = grub_keyboard_controller_fini,
-    /* FIXME: This routine flushes input buffer, and it shouldn't.  */
-    .checkkey = grub_at_keyboard_getkey_noblock,
+    .checkkey = grub_at_keyboard_checkkey,
     .getkey = grub_at_keyboard_getkey,
   };
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]