summaryrefslogtreecommitdiffstats
path: root/core/input/input.c
diff options
context:
space:
mode:
Diffstat (limited to 'core/input/input.c')
-rw-r--r--core/input/input.c25
1 files changed, 13 insertions, 12 deletions
diff --git a/core/input/input.c b/core/input/input.c
index 7a016a0e4f..855e09887b 100644
--- a/core/input/input.c
+++ b/core/input/input.c
@@ -497,6 +497,9 @@ struct cmd_queue {
};
struct input_ctx {
+ bool using_ar;
+ bool using_cocoa_media_keys;
+
// Autorepeat stuff
short ar_state;
int64_t last_ar;
@@ -572,7 +575,7 @@ static const m_option_t input_config[] = {
{ NULL, NULL, 0, 0, 0, 0, NULL}
};
-static const m_option_t mp_input_opts[] = {
+const m_option_t mp_input_opts[] = {
{ "input", (void *)&input_config, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
OPT_INTRANGE("doubleclick-time", input.doubleclick_time, 0, 0, 1000),
OPT_FLAG("joystick", input.use_joystick, CONF_GLOBAL),
@@ -2069,9 +2072,10 @@ void mp_input_define_section(struct input_ctx *ictx, char *name, char *location,
}
}
-struct input_ctx *mp_input_init(struct input_conf *input_conf,
- bool load_default_conf)
+struct input_ctx *mp_input_init(struct MPOpts *opts)
{
+ struct input_conf *input_conf = &opts->input;
+
struct input_ctx *ictx = talloc_ptrtype(NULL, ictx);
*ictx = (struct input_ctx){
.key_fifo_size = input_conf->key_fifo_size,
@@ -2106,7 +2110,7 @@ struct input_ctx *mp_input_init(struct input_conf *input_conf,
bool config_ok = false;
if (input_conf->config_file)
config_ok = parse_config_file(ictx, input_conf->config_file, true);
- if (!config_ok && load_default_conf) {
+ if (!config_ok && opts->load_config) {
// Try global conf dir
char *file = mp_find_config_file("input.conf");
config_ok = file && parse_config_file(ictx, file, false);
@@ -2148,10 +2152,12 @@ struct input_ctx *mp_input_init(struct input_conf *input_conf,
#ifdef CONFIG_COCOA
if (input_conf->use_ar) {
cocoa_init_apple_remote();
+ ictx->using_ar = true;
}
if (input_conf->use_media_keys) {
cocoa_init_media_keys();
+ ictx->using_cocoa_media_keys = true;
}
#endif
@@ -2186,17 +2192,17 @@ static void clear_queue(struct cmd_queue *queue)
}
}
-void mp_input_uninit(struct input_ctx *ictx, struct input_conf *input_conf)
+void mp_input_uninit(struct input_ctx *ictx)
{
if (!ictx)
return;
#ifdef CONFIG_COCOA
- if (input_conf->use_ar) {
+ if (ictx->using_ar) {
cocoa_uninit_apple_remote();
}
- if (input_conf->use_media_keys) {
+ if (ictx->using_cocoa_media_keys) {
cocoa_uninit_media_keys();
}
#endif
@@ -2215,11 +2221,6 @@ void mp_input_uninit(struct input_ctx *ictx, struct input_conf *input_conf)
talloc_free(ictx);
}
-void mp_input_register_options(m_config_t *cfg)
-{
- m_config_register_options(cfg, mp_input_opts);
-}
-
static int print_key_list(m_option_t *cfg, char *optname, char *optparam)
{
int i;