[ros-diffs] [evb] 45416: - Refactor keyboard support to match serial. Now reading a key and waiting for a key are two things. - Implement KbHit Firmware routine. - It is now possible to interact with FreeLDR using the keyboard.

evb at svn.reactos.org evb at svn.reactos.org
Thu Feb 4 09:02:30 CET 2010


Author: evb
Date: Thu Feb  4 09:02:30 2010
New Revision: 45416

URL: http://svn.reactos.org/svn/reactos?rev=45416&view=rev
Log:
- Refactor keyboard support to match serial. Now reading a key and waiting for a key are two things.
- Implement KbHit Firmware routine.
- It is now possible to interact with FreeLDR using the keyboard.


Modified:
    trunk/reactos/boot/armllb/fw.c
    trunk/reactos/boot/armllb/hw/versatile/hwkmi.c
    trunk/reactos/boot/armllb/inc/hw.h

Modified: trunk/reactos/boot/armllb/fw.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/armllb/fw.c?rev=45416&r1=45415&r2=45416&view=diff
==============================================================================
--- trunk/reactos/boot/armllb/fw.c [iso-8859-1] (original)
+++ trunk/reactos/boot/armllb/fw.c [iso-8859-1] Thu Feb  4 09:02:30 2010
@@ -21,8 +21,8 @@
 BOOLEAN
 LlbFwKbHit(VOID)
 {
-    /* Not yet implemented */
-    return FALSE;
+    /* Check RX buffer */
+    return LlbHwKbdReady();
 }
 
 INT

Modified: trunk/reactos/boot/armllb/hw/versatile/hwkmi.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/armllb/hw/versatile/hwkmi.c?rev=45416&r1=45415&r2=45416&view=diff
==============================================================================
--- trunk/reactos/boot/armllb/hw/versatile/hwkmi.c [iso-8859-1] (original)
+++ trunk/reactos/boot/armllb/hw/versatile/hwkmi.c [iso-8859-1] Thu Feb  4 09:02:30 2010
@@ -115,19 +115,17 @@
     WRITE_REGISTER_UCHAR(PL050_KMIDATA, Value);
 }
 
+BOOLEAN
+NTAPI
+LlbHwKbdReady(VOID)
+{
+    return READ_REGISTER_UCHAR(PL050_KMISTAT) & KMISTAT_RXFULL;
+}
+
 INT
 NTAPI
 LlbHwKbdRead(VOID)
 {
-    ULONG Status;
-
-    /* Wait for ready signal */    
-    do
-    {
-        /* Read TX buffer state */
-        Status = READ_REGISTER_UCHAR(PL050_KMISTAT);
-    } while (!(Status & KMISTAT_RXFULL));
-    
     /* Read current data on keyboard */
     return READ_REGISTER_UCHAR(PL050_KMIDATA);
 }

Modified: trunk/reactos/boot/armllb/inc/hw.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/armllb/inc/hw.h?rev=45416&r1=45415&r2=45416&view=diff
==============================================================================
--- trunk/reactos/boot/armllb/inc/hw.h [iso-8859-1] (original)
+++ trunk/reactos/boot/armllb/inc/hw.h [iso-8859-1] Thu Feb  4 09:02:30 2010
@@ -92,6 +92,12 @@
     IN ULONG Value
 );
 
+BOOLEAN
+NTAPI
+LlbHwKbdReady(
+    VOID
+);
+
 INT
 NTAPI
 LlbHwKbdRead(




More information about the Ros-diffs mailing list