summaryrefslogtreecommitdiff
path: root/components/kbmatrix/s7lekkbm/s7lekkbm.h
blob: d3bd131c1b5f71a9813e870a357b8b5ff59acb64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/* ----------------------------------------------------------------------------
 *         ATMEL Microcontroller Software Support 
 * ----------------------------------------------------------------------------
 * Copyright (c) 2008, Atmel Corporation
 *
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * - Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the disclaimer below.
 *
 * Atmel's name may not be used to endorse or promote products derived from
 * this software without specific prior written permission.
 *
 * DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE
 * DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
 * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
 * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
 * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * ----------------------------------------------------------------------------
 */

#ifndef S7LEKKBM_H
#define S7LEKKBM_H

//------------------------------------------------------------------------------
//         Global definitions
//------------------------------------------------------------------------------

/// Number of keys in keyboard matrix.
#define S7LEKKBM_NUMKEYS        35

/// Square root key.
#define S7LEKKBM_SQUAREROOT     128
/// Percentage key.
#define S7LEKKBM_PERCENTAGE     129
/// Plus/minus sign key.
#define S7LEKKBM_SIGN           130
/// Inverse (1/x) key.
#define S7LEKKBM_INVERSE        131
/// Power key (x^y).
#define S7LEKKBM_X_POWER_Y      132
/// Mode key.
#define S7LEKKBM_MODE           133
/// 2nd function key.
#define S7LEKKBM_2NDF           134
/// Divide key.
#define S7LEKKBM_DIVIDE         135
/// Exponential key.
#define S7LEKKBM_EXP            136
/// Hex/dec/bin key.
#define S7LEKKBM_HEXDECBIN      137
/// 2nd function lock key.
#define S7LEKKBM_2NDF_LOCK      138
/// Multiply key.
#define S7LEKKBM_MULTIPLY       139
/// Logarithm key.
#define S7LEKKBM_LOG            140
/// Up arrow key.
#define S7LEKKBM_UPARROW        141
/// Pause key.
#define S7LEKKBM_PAUSE          142
/// Escape key.
#define S7LEKKBM_ESCAPE         143
/// Minus key.
#define S7LEKKBM_MINUS          144
/// Left arrow key.
#define S7LEKKBM_LEFTARROW      145
/// Ok key.
#define S7LEKKBM_OK             146
/// Play key.
#define S7LEKKBM_PLAY           147
/// Right arrow key.
#define S7LEKKBM_RIGHTARROW     148
/// Dot key.
#define S7LEKKBM_DOT            149
/// Equal key.
#define S7LEKKBM_EQUAL          150
/// Plus key.
#define S7LEKKBM_PLUS           151
/// Natural logarithm key.
#define S7LEKKBM_LN             152
/// Down arrow key.
#define S7LEKKBM_DOWNARROW      153
/// Stop key.
#define S7LEKKBM_STOP           154
/// Delete key.
#define S7LEKKBM_DELETE         155

//------------------------------------------------------------------------------
//         Global macros
//------------------------------------------------------------------------------

/// Returns 1 if the key is a special key; otherwise returns 0.
#define S7LEKKBM_SPECIALKEY(key)    ((key >= 128) ? 1 : 0)

//------------------------------------------------------------------------------
//         Global variables
//------------------------------------------------------------------------------

extern const unsigned char gpKeyboardMatrix[S7LEKKBM_NUMKEYS];

extern const unsigned char gpKeyboardMatrixAlt[S7LEKKBM_NUMKEYS];

#endif //#ifndef S7LEKKBM_H

personal git repositories of Harald Welte. Your mileage may vary