[ARMLLB]: Split up support between OMAP3 Beagle and ZOOM2.
[reactos.git] / reactos / boot / armllb / hw / matrix.c
diff --git a/reactos/boot/armllb/hw/matrix.c b/reactos/boot/armllb/hw/matrix.c
new file mode 100755 (executable)
index 0000000..c1275c2
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * PROJECT:         ReactOS Boot Loader
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
+ * FILE:            boot/armllb/hw/matrix.c
+ * PURPOSE:         LLB Matrix Keypad Routines
+ * PROGRAMMERS:     ReactOS Portable Systems Group
+ */
+
+#include "precomp.h"
+
+/* SYNPATICS KEYPAD MATRIX ****************************************************/
+
+UCHAR KeyMatrix[8][8] =
+{
+    {'e', 'r', 't', KEY_HOME, 0, 0, 'i', KEY_LEFTSHIFT},
+    {'d', 'f', 'g', KEY_SEND, 0, 0, 'k', KEY_ENTER},
+    {'x', 'c', 'v', KEY_END, 0, 0, '.', KEY_CAPS_LOCK},
+    {'z', '+', 'b', KEY_F1, 0, 0, 'o', KEY_SPACE},
+    {'w', 'y', 'u', KEY_F2, 0, 0, 'l', KEY_LEFT},
+    {'s', 'h', 'j', KEY_F3, 0, 0, 'm', KEY_RIGHT},
+    {'q', 'a', 'n', KEY_BACKSPACE, 0, 0, 'p', KEY_UP},
+    {0, 0, 0, 0, 0, 0, KEY_ENTER, KEY_DOWN}
+};
+
+/* FUNCTIONS ******************************************************************/
+CHAR
+NTAPI
+LlbKeypadGetChar(VOID)
+{
+    UCHAR ScanCode;
+    UCHAR Col, Row;
+    
+    ScanCode = LlbHwKbdRead();
+    Col = ScanCode >> 4;
+    Row = ScanCode & 0xF;
+    
+    /* Return the ASCII character */
+    return KeyMatrix[Col][Row];
+}
+
+/* EOF */