]> git.donarmstrong.com Git - kiibohd-controller.git/blob - Scan/HeathZenith/matrix.h
54587b467248c3da48af7ba64954d6e8610420c6
[kiibohd-controller.git] / Scan / HeathZenith / matrix.h
1 /* Copyright (C) 2011 by Jacob Alexander
2  *
3  * Permission is hereby granted, free of charge, to any person obtaining a copy
4  * of this software and associated documentation files (the "Software"), to deal
5  * in the Software without restriction, including without limitation the rights
6  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7  * copies of the Software, and to permit persons to whom the Software is
8  * furnished to do so, subject to the following conditions:
9  *
10  * The above copyright notice and this permission notice shall be included in
11  * all copies or substantial portions of the Software.
12  *
13  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19  * THE SOFTWARE.
20  */
21
22 #ifndef __MATRIX_H
23 #define __MATRIX_H
24
25 // ----- Includes -----
26
27 // Compiler Includes
28 #include <stdint.h>
29
30
31
32 // ----- Scan Mode Setting (See matrix_scan.h for more details) -----
33 #define scanMode scanDual
34
35
36
37 // ----- Key Settings -----
38
39 #define KEYBOARD_KEYS 63 // # of keys
40 #define MAX_ROW_SIZE  12 // # of keys in the largest row
41 #define MAX_COL_SIZE   9 // # of keys in the largest column
42
43
44
45 // ----- Matrix Configuration -----
46 static const uint8_t matrix_pinout[][MAX_ROW_SIZE + 1] = {
47
48
49 // Bread-board debug pinout
50 // Note: Pins 49 and 60 are connected together, by row AND column, why? dunno...(shift)
51   { scanMode, pinC6, pinC5, pinC4, pinC3, pinC2, pinE1, pinC0, pinC1, pinD7, pinE0, pinD6, pinC7 },
52   { pinF3,    1,     2,     3,     4,     5,     6,     7,     8,     0,     0,     0,     0     },
53   { pinE7,    16,    15,    14,    13,    12,    11,    10,    9,     0,     0,     0,     0     },
54   { pinB4,    17,    18,    19,    20,    21,    22,    23,    24,    0,     0,     0,     0     },
55   { pinB0,    32,    31,    30,    29,    28,    27,    26,    25,    0,     0,     0,     0     },
56   { pinB2,    35,    36,    37,    38,    39,    40,    41,    42,    0,     0,     0,     0     },
57   { pinB1,    47,    61,    46,    45,    44,    43,    58,    0,     0,     0,     0,     0     },
58   { pinB5,    50,    51,    52,    53,    54,    55,    56,    57,    0,     0,     0,     0     },
59   { pinE6,    62,    63,    0,     0,     59,    0,     0,     0,     0,     0,     0,     0     },
60   { pinB6,    0,     0,     0,     0,     0,     0,     0,     0,     33,    34,    48,    49    },
61
62
63
64 };
65
66
67
68 #endif // __MATRIX_H
69