aboutsummaryrefslogtreecommitdiffhomepage
path: root/input
diff options
context:
space:
mode:
authorGravatar wm4 <wm4@nowhere>2014-02-25 22:09:20 +0100
committerGravatar wm4 <wm4@nowhere>2014-02-25 22:09:20 +0100
commit70ff543029068188a3de39a80a764267c6671e7c (patch)
treef5012ae8ff3b5e626ee8a3f123a51fa3ffa6ff8b /input
parenta85ff44511deb04a1f844a4dd8a2b85b509ba0d1 (diff)
input: allow input.conf bindings to be declared as builtin
This might be helpful if we ever want cascading config files. Also, we will probably need it if we change the default input.conf bindings, and want to provide compatibility input.conf files.
Diffstat (limited to 'input')
-rw-r--r--input/input.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/input/input.c b/input/input.c
index 9061f2008a..cc36020af7 100644
--- a/input/input.c
+++ b/input/input.c
@@ -1386,6 +1386,17 @@ static int parse_config(struct input_ctx *ictx, bool builtin, bstr data,
line = bstr_lstrip(line);
if (line.len == 0 || bstr_startswith0(line, "#"))
continue;
+ if (bstr_eatstart0(&line, "default-bindings ")) {
+ bstr orig = line;
+ bstr_split_tok(line, "#", &line, &(bstr){0});
+ line = bstr_strip(line);
+ if (bstr_equals0(line, "start")) {
+ builtin = true;
+ } else {
+ MP_ERR(ictx, "Broken line: %.*s at %s\n", BSTR_P(orig), cur_loc);
+ }
+ continue;
+ }
struct bstr command;
// Find the key name starting a line
struct bstr keyname = bstr_split(line, WHITESPACE, &command);