-
Notifications
You must be signed in to change notification settings - Fork 3
/
options.c
64 lines (57 loc) · 1.63 KB
/
options.c
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
/*
* Copyright (c) 2018 Tristan Le Guern <[email protected]>
*
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include <stdbool.h>
#include "options.h"
struct optionsmap optionsmap[] = {
{"colors", false},
};
struct keybindingsmap keybindingsmap[] = {
{"enter", '\r'},
{"escape", 27}, /* Escape key*/
{"left", 'h'},
{"down", 'j'},
{"up", 'k'},
{"right", 'l'},
{"upleft", 'y'},
{"upright", 'u'},
{"downleft", 'b'},
{"downright", 'n'},
{"run left", 'H'},
{"run down", 'J'},
{"run up", 'K'},
{"run right", 'L'},
{"run upleft", 'Y'},
{"run upright", 'U'},
{"run downleft", 'B'},
{"run downright", 'N'},
{"rest", '.'},
{"upstair", '<'},
{"downstair", '>'},
{"look here", ':'},
{"look elsewhere", ';'},
{"show help menu", '?'},
{"show options menu", 'O'},
};
enum keybinding
keybinding_resolve(int keypress)
{
int key;
for (key = 0; key < K__MAX; key++) {
if (keypress == keybindingsmap[key].key)
break;
}
return(key);
}