/* * This code was written by Mychaela Falconia * who refuses to claim copyright on it and has released it as public domain * instead. NO rights reserved, all rights relinquished. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ /* * The TR-800 module itself does not prescribe any particular keypad * layout - instead all 5 KBC lines and all 5 KBR lines are simply * brought out, allowing user applications to implement any desired * keypad up to 5x5 buttons. When designing keypads for development * boards (whether TR800-based or "raw" Calypso), Mother Mychaela's * preference is to follow TI's original D-Sample key layout: Main keypad (21 buttons): L. Soft R. Soft 5-way nav Green Red 1 2 3 4 5 6 7 8 9 * 0 # Left side buttons: VOL+ / VOL- Right side button: generic Row/column matrix connections: KBC0 KBC1 KBC2 KBC3 KBC4 KBR0 Green VOL- VOL+ L_Soft Nav_left KBR1 1 2 3 R_Side Nav_right KBR2 4 5 6 R_Soft Nav_up KBR3 7 8 9 unused Nav_down KBR4 * 0 # unused Nav_center The red button is out-of-matrix PWON. * If anyone has an original iWOW DSK board, the connection of * "CALL" and "1" buttons on that board also matches the present * D-Sample keymap. */ static const uint8_t keymap[] = { [KEY_0] = 9, [KEY_1] = 1, [KEY_2] = 6, [KEY_3] = 11, [KEY_4] = 2, [KEY_5] = 7, [KEY_6] = 12, [KEY_7] = 3, [KEY_8] = 8, [KEY_9] = 13, [KEY_STAR] = 4, [KEY_HASH] = 14, [KEY_MENU] = 24, [KEY_LEFT_SB] = 15, [KEY_RIGHT_SB] = 17, [KEY_UP] = 22, [KEY_DOWN] = 23, [KEY_LEFT] = 20, [KEY_RIGHT] = 21, [KEY_OK] = 0, /* power button is not connected to keypad scan matrix but to TWL3025 */ [KEY_POWER] = 31, /* D-Sample left side buttons for volume up/down control */ [KEY_MINUS] = 5, [KEY_PLUS] = 10, /* * D-Sample right side button can be seen as equivalent to * Pirelli DP-L10 camera button, except for reversed history: * D-Sample existed first and was used by the designers of the * Pirelli DP-L10 phone as their starting point. */ [KEY_CAMERA] = 16, };