diff options
Diffstat (limited to 'core')
-rw-r--r-- | core/defaultopts.c | 1 | ||||
-rw-r--r-- | core/input/input.c | 17 | ||||
-rw-r--r-- | core/input/keycodes.h | 6 | ||||
-rw-r--r-- | core/options.h | 1 |
4 files changed, 23 insertions, 2 deletions
diff --git a/core/defaultopts.c b/core/defaultopts.c index a8a6b26930..a03370bed6 100644 --- a/core/defaultopts.c +++ b/core/defaultopts.c @@ -110,6 +110,7 @@ void set_default_mplayer_options(struct MPOpts *opts) .use_lircc = 1, #ifdef CONFIG_COCOA .use_ar = 1, + .use_media_keys = 1, #endif .default_bindings = 1, } diff --git a/core/input/input.c b/core/input/input.c index 4bfc22a08c..8bc877ce79 100644 --- a/core/input/input.c +++ b/core/input/input.c @@ -409,6 +409,10 @@ static const struct key_name key_names[] = { { MP_AR_VDOWN, "AR_VDOWN" }, { MP_AR_VDOWN_HOLD, "AR_VDOWN_HOLD" }, + { MP_MK_PLAY, "MK_PLAY" }, + { MP_MK_PREV, "MK_PREV" }, + { MP_MK_NEXT, "MK_NEXT" }, + { MP_KEY_POWER, "POWER" }, { MP_KEY_MENU, "MENU" }, { MP_KEY_PLAY, "PLAY" }, @@ -553,6 +557,7 @@ static const m_option_t mp_input_opts[] = { OPT_FLAG("lircc", input.use_lircc, CONF_GLOBAL), #ifdef CONFIG_COCOA OPT_FLAG("ar", input.use_ar, CONF_GLOBAL), + OPT_FLAG("media-keys", input.use_media_keys, CONF_GLOBAL), #endif { NULL, NULL, 0, 0, 0, 0, NULL} }; @@ -1830,7 +1835,11 @@ struct input_ctx *mp_input_init(struct input_conf *input_conf, #ifdef CONFIG_COCOA if (input_conf->use_ar) { - cocoa_start_apple_remote(); + cocoa_init_apple_remote(); + } + + if (input_conf->use_media_keys) { + cocoa_init_media_keys(); } #endif @@ -1872,7 +1881,11 @@ void mp_input_uninit(struct input_ctx *ictx, struct input_conf *input_conf) #ifdef CONFIG_COCOA if (input_conf->use_ar) { - cocoa_stop_apple_remote(); + cocoa_uninit_apple_remote(); + } + + if (input_conf->use_media_keys) { + cocoa_uninit_media_keys(); } #endif diff --git a/core/input/keycodes.h b/core/input/keycodes.h index b9d2da23b7..8770f8abfa 100644 --- a/core/input/keycodes.h +++ b/core/input/keycodes.h @@ -189,6 +189,12 @@ #define MP_AR_VDOWN (MP_AR_BASE + 12) #define MP_AR_VDOWN_HOLD (MP_AR_BASE + 13) +// Apple Media Keys input module +#define MP_MK_BASE (MP_KEY_BASE+0xF0) +#define MP_MK_PLAY (MP_AR_BASE + 0) +#define MP_MK_PREV (MP_AR_BASE + 1) +#define MP_MK_NEXT (MP_AR_BASE + 2) + /* Special keys */ #define MP_KEY_INTERN (MP_KEY_BASE+0x1000) #define MP_KEY_CLOSE_WIN (MP_KEY_INTERN+0) diff --git a/core/options.h b/core/options.h index 0504ea0591..eaa908d7bd 100644 --- a/core/options.h +++ b/core/options.h @@ -241,6 +241,7 @@ typedef struct MPOpts { int use_lircc; #ifdef CONFIG_COCOA int use_ar; + int use_media_keys; #endif int default_bindings; int test; |