* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
+
+#include "keymaps.h"
+
+
#define KEY_RELEASE 0x80
#define KEY_MASK 0x7f
#define SHIFT_CODE 0x2a
#define CURSES_KEYS KEY_MAX /* KEY_MAX defined in <curses.h> */
-int curses2keycode[CURSES_KEYS] = {
+static const int curses2keycode[CURSES_KEYS] = {
[0 ... (CURSES_KEYS - 1)] = -1,
[0x01b] = 1, /* Escape */
[0x014] = 20 | CNTRL, /* Control + t */
[0x019] = 21 | CNTRL, /* Control + y */
[0x015] = 22 | CNTRL, /* Control + u */
- [0x009] = 23 | CNTRL, /* Control + i */
+ /* Control + i collides with Tab */
[0x00f] = 24 | CNTRL, /* Control + o */
[0x010] = 25 | CNTRL, /* Control + p */
[0x006] = 33 | CNTRL, /* Control + f */
[0x007] = 34 | CNTRL, /* Control + g */
[0x008] = 35 | CNTRL, /* Control + h */
- [0x00a] = 36 | CNTRL, /* Control + j */
+ /* Control + j collides with Return */
[0x00b] = 37 | CNTRL, /* Control + k */
[0x00c] = 38 | CNTRL, /* Control + l */
};
-int curses2keysym[CURSES_KEYS] = {
+static const int curses2keysym[CURSES_KEYS] = {
[0 ... (CURSES_KEYS - 1)] = -1,
['\n'] = '\n',
};
-typedef struct {
- const char* name;
- int keysym;
-} name2keysym_t;
-
-static name2keysym_t name2keysym[] = {
+static const name2keysym_t name2keysym[] = {
/* Plain ASCII */
{ "space", 0x020 },
{ "exclam", 0x021 },
{ "F20", 0x11c },
{ "Escape", 27 },
- { 0, 0 },
+ { NULL, 0 },
};