1 /* 2 * PROJECT: ReactOS Boot Loader 3 * LICENSE: BSD - See COPYING.ARM in the top level directory 4 * FILE: boot/armllb/hw/matrix.c 5 * PURPOSE: LLB Matrix Keypad Routines 6 * PROGRAMMERS: ReactOS Portable Systems Group 7 */ 8 9 #include "precomp.h" 10 11 /* SYNPATICS KEYPAD MATRIX ****************************************************/ 12 13 UCHAR KeyMatrix[8][8] = 14 { 15 {'e', 'r', 't', KEY_HOME, 0, 0, 'i', KEY_LEFTSHIFT}, 16 {'d', 'f', 'g', KEY_SEND, 0, 0, 'k', KEY_ENTER}, 17 {'x', 'c', 'v', KEY_END, 0, 0, '.', KEY_CAPS_LOCK}, 18 {'z', '+', 'b', KEY_F1, 0, 0, 'o', KEY_SPACE}, 19 {'w', 'y', 'u', KEY_F2, 0, 0, 'l', KEY_LEFT}, 20 {'s', 'h', 'j', KEY_F3, 0, 0, 'm', KEY_RIGHT}, 21 {'q', 'a', 'n', KEY_BACKSPACE, 0, 0, 'p', KEY_UP}, 22 {0, 0, 0, 0, 0, 0, KEY_ENTER, KEY_DOWN} 23 }; 24 25 /* FUNCTIONS ******************************************************************/ 26 27 CHAR 28 NTAPI 29 LlbKeypadGetChar(VOID) 30 { 31 UCHAR ScanCode; 32 UCHAR Col, Row; 33 34 ScanCode = LlbHwKbdRead(); 35 Col = ScanCode >> 4; 36 Row = ScanCode & 0xF; 37 38 /* Return the ASCII character */ 39 return KeyMatrix[Col][Row]; 40 } 41 42 /* EOF */ 43