mirror of
https://github.com/mpv-player/mpv
synced 2024-12-22 06:42:03 +00:00
input: remove Linux joystick support
Why did this exist in the first place? Other than being completely useless, this even caused some regressions in the past. For example, there was the case of a laptop exposing its accelerometer as joystick device, which led to extremely fun things due to the default mappings of axis movement being mapped to seeking. I suppose those who really want to use their joystick to control a media player (???) can configure it as mouse device or so.
This commit is contained in:
parent
1e659a9f0f
commit
9b5a7241e8
@ -32,7 +32,7 @@ INTERACTIVE CONTROL
|
||||
===================
|
||||
|
||||
mpv has a fully configurable, command-driven control layer which allows you
|
||||
to control mpv using keyboard, mouse, joystick or remote control (there is no
|
||||
to control mpv using keyboard, mouse, or remote control (there is no
|
||||
LIRC support - configure remotes as input devices instead).
|
||||
|
||||
See the ``--input-`` options for ways to customize it.
|
||||
|
@ -2358,12 +2358,6 @@ Input
|
||||
driver. Necessary to use the OSC, or to select the buttons in DVD menus.
|
||||
Support depends on the VO in use.
|
||||
|
||||
``--input-joystick``, ``--no-input-joystick``
|
||||
Enable/disable joystick support. Disabled by default.
|
||||
|
||||
``--input-js-dev``
|
||||
Specifies the joystick device to use (default: ``/dev/input/js0``).
|
||||
|
||||
``--input-media-keys=<yes|no>``
|
||||
(OS X only)
|
||||
Enable/disable media keys support. Enabled by default (except for libmpv).
|
||||
|
@ -241,7 +241,6 @@ Command Line Switches
|
||||
``-noar`` ``--no-input-appleremote``
|
||||
``-noautosub`` ``--no-sub-auto``
|
||||
``-noconsolecontrols`` ``--no-input-terminal``
|
||||
``-nojoystick`` ``--no-input-joystick``
|
||||
``-nosound`` ``--no-audio``
|
||||
``-osdlevel`` ``--osd-level``
|
||||
``-panscanrange`` ``--video-zoom``, ``--video-pan-x/y``
|
||||
|
@ -159,20 +159,6 @@
|
||||
#AR_VDOWN add volume -2
|
||||
#AR_VDOWN_HOLD add chapter -1
|
||||
|
||||
# Joystick section
|
||||
# WARNING: joystick support has to be explicitly enabled at
|
||||
# compiletime with --enable-joystick
|
||||
#
|
||||
|
||||
#JOY_AXIS0_PLUS seek 10
|
||||
#JOY_AXIS0_MINUS seek -10
|
||||
#JOY_AXIS1_MINUS seek 60
|
||||
#JOY_AXIS1_PLUS seek -60
|
||||
#JOY_BTN0 cycle pause
|
||||
#JOY_BTN1 cycle osd
|
||||
#JOY_BTN2 add volume 2
|
||||
#JOY_BTN3 add volume -2
|
||||
|
||||
# For dvdnav:// and bdnav://
|
||||
|
||||
# navigation controls during playback
|
||||
|
@ -74,22 +74,6 @@ l cycle tv-channel -1
|
||||
n cycle tv-norm
|
||||
#b tv_step_chanlist
|
||||
|
||||
##
|
||||
## Joystick section
|
||||
## WARNING: joystick support has to be explicitly enabled at
|
||||
## compiletime with --enable-joystick
|
||||
##
|
||||
|
||||
JOY_RIGHT seek 10
|
||||
JOY_LEFT seek -10
|
||||
JOY_UP seek 60
|
||||
JOY_DOWN seek -60
|
||||
JOY_BTN0 cycle pause
|
||||
JOY_BTN1 osd
|
||||
JOY_BTN2 add volume 1
|
||||
JOY_BTN3 add volume -1
|
||||
#JOY_BTN4 set_menu main
|
||||
|
||||
##
|
||||
## Apple Remote section
|
||||
##
|
||||
|
@ -163,8 +163,6 @@ struct input_opts {
|
||||
// Autorepeat config (be aware of mp_input_set_repeat_info())
|
||||
int ar_delay;
|
||||
int ar_rate;
|
||||
char *js_dev;
|
||||
int use_joystick;
|
||||
int use_alt_gr;
|
||||
int use_appleremote;
|
||||
int use_media_keys;
|
||||
@ -182,11 +180,9 @@ const struct m_sub_options input_config = {
|
||||
OPT_INT("ar-rate", ar_rate, CONF_GLOBAL),
|
||||
OPT_PRINT("keylist", mp_print_key_list),
|
||||
OPT_PRINT("cmdlist", mp_print_cmd_list),
|
||||
OPT_STRING("js-dev", js_dev, CONF_GLOBAL),
|
||||
OPT_FLAG("default-bindings", default_bindings, CONF_GLOBAL),
|
||||
OPT_FLAG("test", test, CONF_GLOBAL),
|
||||
OPT_INTRANGE("doubleclick-time", doubleclick_time, 0, 0, 1000),
|
||||
OPT_FLAG("joystick", use_joystick, CONF_GLOBAL),
|
||||
OPT_FLAG("right-alt-gr", use_alt_gr, CONF_GLOBAL),
|
||||
OPT_INTRANGE("key-fifo-size", key_fifo_size, CONF_GLOBAL, 2, 65000),
|
||||
OPT_FLAG("cursor", enable_mouse_movements, CONF_GLOBAL),
|
||||
@ -1244,11 +1240,6 @@ void mp_input_load(struct input_ctx *ictx)
|
||||
MP_VERBOSE(ictx, "Falling back on default (hardcoded) input config\n");
|
||||
}
|
||||
|
||||
#if HAVE_JOYSTICK
|
||||
if (input_conf->use_joystick)
|
||||
mp_input_joystick_add(ictx, input_conf->js_dev);
|
||||
#endif
|
||||
|
||||
if (input_conf->use_alt_gr) {
|
||||
ictx->using_alt_gr = true;
|
||||
}
|
||||
|
@ -257,7 +257,6 @@ void mp_input_run_cmd(struct input_ctx *ictx, const char **cmd);
|
||||
void mp_input_set_repeat_info(struct input_ctx *ictx, int rate, int delay);
|
||||
|
||||
void mp_input_pipe_add(struct input_ctx *ictx, const char *filename);
|
||||
void mp_input_joystick_add(struct input_ctx *ictx, char *dev);
|
||||
|
||||
struct mp_ipc_ctx;
|
||||
struct mp_client_api;
|
||||
|
216
input/joystick.c
216
input/joystick.c
@ -1,216 +0,0 @@
|
||||
/*
|
||||
* This file is part of MPlayer.
|
||||
*
|
||||
* MPlayer is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* MPlayer is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License along
|
||||
* with MPlayer; if not, write to the Free Software Foundation, Inc.,
|
||||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*/
|
||||
|
||||
#include "input.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
#include <poll.h>
|
||||
|
||||
#include "common/common.h"
|
||||
#include "common/msg.h"
|
||||
#include "keycodes.h"
|
||||
|
||||
#ifndef JOY_AXIS_DELTA
|
||||
#define JOY_AXIS_DELTA 500
|
||||
#endif
|
||||
|
||||
#ifndef JS_DEV
|
||||
#define JS_DEV "/dev/input/js0"
|
||||
#endif
|
||||
|
||||
#include <linux/joystick.h>
|
||||
|
||||
struct ctx {
|
||||
struct mp_log *log;
|
||||
int axis[256];
|
||||
int btns;
|
||||
int fd;
|
||||
};
|
||||
|
||||
static int close_js(void *ctx, int fd)
|
||||
{
|
||||
close(fd);
|
||||
talloc_free(ctx);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct ctx *joystick_init(struct input_ctx *ictx, struct mp_log *log, char *dev)
|
||||
{
|
||||
int fd,l=0;
|
||||
int initialized = 0;
|
||||
struct js_event ev;
|
||||
|
||||
mp_verbose(log, "Opening joystick device %s\n",dev ? dev : JS_DEV);
|
||||
|
||||
fd = open( dev ? dev : JS_DEV , O_RDONLY | O_NONBLOCK );
|
||||
if(fd < 0) {
|
||||
mp_err(log, "Can't open joystick device %s: %s\n",dev ? dev : JS_DEV,
|
||||
mp_strerror(errno));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct ctx *ctx = talloc_ptrtype(NULL, ctx);
|
||||
*ctx = (struct ctx) {.log = log};
|
||||
|
||||
while(! initialized) {
|
||||
l = 0;
|
||||
while((unsigned int)l < sizeof(struct js_event)) {
|
||||
int r = read(fd,((char*)&ev)+l,sizeof(struct js_event)-l);
|
||||
if(r < 0) {
|
||||
if(errno == EINTR)
|
||||
continue;
|
||||
else if(errno == EAGAIN) {
|
||||
initialized = 1;
|
||||
break;
|
||||
}
|
||||
MP_ERR(ctx, "Error while reading joystick device: %s\n",
|
||||
mp_strerror(errno));
|
||||
close(fd);
|
||||
talloc_free(ctx);
|
||||
return NULL;
|
||||
}
|
||||
l += r;
|
||||
}
|
||||
if((unsigned int)l < sizeof(struct js_event)) {
|
||||
if(l > 0)
|
||||
MP_WARN(ctx, "Joystick: We lose %d bytes of data\n",l);
|
||||
break;
|
||||
}
|
||||
if(ev.type == JS_EVENT_BUTTON)
|
||||
ctx->btns |= (ev.value << ev.number);
|
||||
if(ev.type == JS_EVENT_AXIS)
|
||||
ctx->axis[ev.number] = ev.value;
|
||||
}
|
||||
|
||||
ctx->fd = fd;
|
||||
return ctx;
|
||||
}
|
||||
|
||||
static int mp_input_joystick_read(void *pctx, int fd) {
|
||||
struct ctx *ctx = pctx;
|
||||
struct js_event ev;
|
||||
int l=0;
|
||||
|
||||
while((unsigned int)l < sizeof(struct js_event)) {
|
||||
int r = read(fd,((char*)&ev)+l,sizeof(struct js_event)-l);
|
||||
if(r <= 0) {
|
||||
if(errno == EINTR)
|
||||
continue;
|
||||
else if(errno == EAGAIN)
|
||||
return 0;
|
||||
if( r < 0) {
|
||||
MP_ERR(ctx, "Error while reading joystick device: %s\n",
|
||||
mp_strerror(errno));
|
||||
} else {
|
||||
MP_ERR(ctx, "Error while reading joystick device: %s\n","EOF");
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
l += r;
|
||||
}
|
||||
|
||||
if((unsigned int)l < sizeof(struct js_event)) {
|
||||
if(l > 0)
|
||||
MP_WARN(ctx, "Joystick: We lose %d bytes of data\n",l);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(ev.type & JS_EVENT_INIT) {
|
||||
MP_WARN(ctx, "Joystick: warning init event, we have lost sync with driver.\n");
|
||||
ev.type &= ~JS_EVENT_INIT;
|
||||
if(ev.type == JS_EVENT_BUTTON) {
|
||||
int s = (ctx->btns >> ev.number) & 1;
|
||||
if(s == ev.value) // State is the same : ignore
|
||||
return 0;
|
||||
}
|
||||
if(ev.type == JS_EVENT_AXIS) {
|
||||
if( ( ctx->axis[ev.number] == 1 && ev.value > JOY_AXIS_DELTA) ||
|
||||
(ctx->axis[ev.number] == -1 && ev.value < -JOY_AXIS_DELTA) ||
|
||||
(ctx->axis[ev.number] == 0 && ev.value >= -JOY_AXIS_DELTA && ev.value <= JOY_AXIS_DELTA)
|
||||
) // State is the same : ignore
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
if(ev.type & JS_EVENT_BUTTON) {
|
||||
ctx->btns &= ~(1 << ev.number);
|
||||
ctx->btns |= (ev.value << ev.number);
|
||||
if(ev.value == 1)
|
||||
return (MP_JOY_BTN0 + ev.number) | MP_KEY_STATE_DOWN;
|
||||
else
|
||||
return (MP_JOY_BTN0 + ev.number) | MP_KEY_STATE_UP;
|
||||
} else if(ev.type & JS_EVENT_AXIS) {
|
||||
if(ev.value < -JOY_AXIS_DELTA && ctx->axis[ev.number] != -1) {
|
||||
ctx->axis[ev.number] = -1;
|
||||
return (MP_JOY_AXIS0_MINUS+(2*ev.number)) | MP_KEY_STATE_DOWN;
|
||||
} else if(ev.value > JOY_AXIS_DELTA && ctx->axis[ev.number] != 1) {
|
||||
ctx->axis[ev.number] = 1;
|
||||
return (MP_JOY_AXIS0_PLUS+(2*ev.number)) | MP_KEY_STATE_DOWN;
|
||||
} else if(ev.value <= JOY_AXIS_DELTA && ev.value >= -JOY_AXIS_DELTA && ctx->axis[ev.number] != 0) {
|
||||
int r = ctx->axis[ev.number] == 1 ? MP_JOY_AXIS0_PLUS+(2*ev.number) : MP_JOY_AXIS0_MINUS+(2*ev.number);
|
||||
ctx->axis[ev.number] = 0;
|
||||
return r | MP_KEY_STATE_UP;
|
||||
} else
|
||||
return 0;
|
||||
} else {
|
||||
MP_WARN(ctx, "Joystick warning unknown event type %d\n",ev.type);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void read_joystick_thread(struct mp_input_src *src, void *param)
|
||||
{
|
||||
int wakeup_fd = mp_input_src_get_wakeup_fd(src);
|
||||
struct ctx *ctx = joystick_init(src->input_ctx, src->log, param);
|
||||
|
||||
if (!ctx)
|
||||
return;
|
||||
|
||||
mp_input_src_init_done(src);
|
||||
|
||||
while (1) {
|
||||
struct pollfd fds[2] = {
|
||||
{ .fd = ctx->fd, .events = POLLIN },
|
||||
{ .fd = wakeup_fd, .events = POLLIN },
|
||||
};
|
||||
poll(fds, 2, -1);
|
||||
if (!(fds[0].revents & POLLIN))
|
||||
break;
|
||||
int r = mp_input_joystick_read(ctx, ctx->fd);
|
||||
if (r < 0)
|
||||
break;
|
||||
if (r > 0)
|
||||
mp_input_put_key(src->input_ctx, r);
|
||||
}
|
||||
|
||||
close_js(ctx, ctx->fd);
|
||||
}
|
||||
|
||||
void mp_input_joystick_add(struct input_ctx *ictx, char *dev)
|
||||
{
|
||||
mp_input_add_thread_src(ictx, (void *)dev, read_joystick_thread);
|
||||
}
|
@ -118,42 +118,6 @@ static const struct key_name key_names[] = {
|
||||
{ MP_MOUSE_BTN17_DBL, "MOUSE_BTN17_DBL" },
|
||||
{ MP_MOUSE_BTN18_DBL, "MOUSE_BTN18_DBL" },
|
||||
{ MP_MOUSE_BTN19_DBL, "MOUSE_BTN19_DBL" },
|
||||
{ MP_JOY_AXIS1_MINUS, "JOY_UP" },
|
||||
{ MP_JOY_AXIS1_PLUS, "JOY_DOWN" },
|
||||
{ MP_JOY_AXIS0_MINUS, "JOY_LEFT" },
|
||||
{ MP_JOY_AXIS0_PLUS, "JOY_RIGHT" },
|
||||
|
||||
{ MP_JOY_AXIS0_PLUS, "JOY_AXIS0_PLUS" },
|
||||
{ MP_JOY_AXIS0_MINUS, "JOY_AXIS0_MINUS" },
|
||||
{ MP_JOY_AXIS1_PLUS, "JOY_AXIS1_PLUS" },
|
||||
{ MP_JOY_AXIS1_MINUS, "JOY_AXIS1_MINUS" },
|
||||
{ MP_JOY_AXIS2_PLUS, "JOY_AXIS2_PLUS" },
|
||||
{ MP_JOY_AXIS2_MINUS, "JOY_AXIS2_MINUS" },
|
||||
{ MP_JOY_AXIS3_PLUS, "JOY_AXIS3_PLUS" },
|
||||
{ MP_JOY_AXIS3_MINUS, "JOY_AXIS3_MINUS" },
|
||||
{ MP_JOY_AXIS4_PLUS, "JOY_AXIS4_PLUS" },
|
||||
{ MP_JOY_AXIS4_MINUS, "JOY_AXIS4_MINUS" },
|
||||
{ MP_JOY_AXIS5_PLUS, "JOY_AXIS5_PLUS" },
|
||||
{ MP_JOY_AXIS5_MINUS, "JOY_AXIS5_MINUS" },
|
||||
{ MP_JOY_AXIS6_PLUS, "JOY_AXIS6_PLUS" },
|
||||
{ MP_JOY_AXIS6_MINUS, "JOY_AXIS6_MINUS" },
|
||||
{ MP_JOY_AXIS7_PLUS, "JOY_AXIS7_PLUS" },
|
||||
{ MP_JOY_AXIS7_MINUS, "JOY_AXIS7_MINUS" },
|
||||
{ MP_JOY_AXIS8_PLUS, "JOY_AXIS8_PLUS" },
|
||||
{ MP_JOY_AXIS8_MINUS, "JOY_AXIS8_MINUS" },
|
||||
{ MP_JOY_AXIS9_PLUS, "JOY_AXIS9_PLUS" },
|
||||
{ MP_JOY_AXIS9_MINUS, "JOY_AXIS9_MINUS" },
|
||||
|
||||
{ MP_JOY_BTN0, "JOY_BTN0" },
|
||||
{ MP_JOY_BTN1, "JOY_BTN1" },
|
||||
{ MP_JOY_BTN2, "JOY_BTN2" },
|
||||
{ MP_JOY_BTN3, "JOY_BTN3" },
|
||||
{ MP_JOY_BTN4, "JOY_BTN4" },
|
||||
{ MP_JOY_BTN5, "JOY_BTN5" },
|
||||
{ MP_JOY_BTN6, "JOY_BTN6" },
|
||||
{ MP_JOY_BTN7, "JOY_BTN7" },
|
||||
{ MP_JOY_BTN8, "JOY_BTN8" },
|
||||
{ MP_JOY_BTN9, "JOY_BTN9" },
|
||||
|
||||
{ MP_AR_PLAY, "AR_PLAY" },
|
||||
{ MP_AR_PLAY_HOLD, "AR_PLAY_HOLD" },
|
||||
|
@ -97,43 +97,6 @@
|
||||
#define MP_KEY_KPDEL (MP_KEY_KEYPAD+12)
|
||||
#define MP_KEY_KPENTER (MP_KEY_KEYPAD+13)
|
||||
|
||||
|
||||
// Joystick input module
|
||||
#define MP_JOY_BASE (MP_KEY_BASE+0x70)
|
||||
#define MP_JOY_AXIS0_PLUS (MP_JOY_BASE+0)
|
||||
#define MP_JOY_AXIS0_MINUS (MP_JOY_BASE+1)
|
||||
#define MP_JOY_AXIS1_PLUS (MP_JOY_BASE+2)
|
||||
#define MP_JOY_AXIS1_MINUS (MP_JOY_BASE+3)
|
||||
#define MP_JOY_AXIS2_PLUS (MP_JOY_BASE+4)
|
||||
#define MP_JOY_AXIS2_MINUS (MP_JOY_BASE+5)
|
||||
#define MP_JOY_AXIS3_PLUS (MP_JOY_BASE+6)
|
||||
#define MP_JOY_AXIS3_MINUS (MP_JOY_BASE+7)
|
||||
#define MP_JOY_AXIS4_PLUS (MP_JOY_BASE+8)
|
||||
#define MP_JOY_AXIS4_MINUS (MP_JOY_BASE+9)
|
||||
#define MP_JOY_AXIS5_PLUS (MP_JOY_BASE+10)
|
||||
#define MP_JOY_AXIS5_MINUS (MP_JOY_BASE+11)
|
||||
#define MP_JOY_AXIS6_PLUS (MP_JOY_BASE+12)
|
||||
#define MP_JOY_AXIS6_MINUS (MP_JOY_BASE+13)
|
||||
#define MP_JOY_AXIS7_PLUS (MP_JOY_BASE+14)
|
||||
#define MP_JOY_AXIS7_MINUS (MP_JOY_BASE+15)
|
||||
#define MP_JOY_AXIS8_PLUS (MP_JOY_BASE+16)
|
||||
#define MP_JOY_AXIS8_MINUS (MP_JOY_BASE+17)
|
||||
#define MP_JOY_AXIS9_PLUS (MP_JOY_BASE+18)
|
||||
#define MP_JOY_AXIS9_MINUS (MP_JOY_BASE+19)
|
||||
|
||||
#define MP_JOY_BTN_BASE ((MP_KEY_BASE+0x90)|MP_NO_REPEAT_KEY)
|
||||
#define MP_JOY_BTN0 (MP_JOY_BTN_BASE+0)
|
||||
#define MP_JOY_BTN1 (MP_JOY_BTN_BASE+1)
|
||||
#define MP_JOY_BTN2 (MP_JOY_BTN_BASE+2)
|
||||
#define MP_JOY_BTN3 (MP_JOY_BTN_BASE+3)
|
||||
#define MP_JOY_BTN4 (MP_JOY_BTN_BASE+4)
|
||||
#define MP_JOY_BTN5 (MP_JOY_BTN_BASE+5)
|
||||
#define MP_JOY_BTN6 (MP_JOY_BTN_BASE+6)
|
||||
#define MP_JOY_BTN7 (MP_JOY_BTN_BASE+7)
|
||||
#define MP_JOY_BTN8 (MP_JOY_BTN_BASE+8)
|
||||
#define MP_JOY_BTN9 (MP_JOY_BTN_BASE+9)
|
||||
|
||||
|
||||
// Mouse events from VOs
|
||||
#define MP_MOUSE_BASE ((MP_KEY_BASE+0xA0)|MP_NO_REPEAT_KEY|MP_KEY_EMIT_ON_UP)
|
||||
#define MP_MOUSE_BTN0 (MP_MOUSE_BASE+0)
|
||||
|
@ -164,7 +164,6 @@ options_state_machine() {
|
||||
opt_yes_no _libguess "libguess"
|
||||
opt_yes_no _termios "termios database for key codes"
|
||||
opt_yes_no _iconv "iconv for encoding conversion"
|
||||
opt_yes_no _joystick "joystick support" no
|
||||
opt_yes_no _vm "X video mode extensions"
|
||||
opt_yes_no _dvb "DVB input"
|
||||
opt_yes_no _tv "TV interface (TV/DVB grabbers)" yes
|
||||
@ -838,8 +837,6 @@ if test "$_vapoursynth" = no && test "$_vapoursynth_lazy" = no ; then
|
||||
fi
|
||||
check_trivial "VapourSynth core" $_vapoursynth_core VAPOURSYNTH_CORE
|
||||
|
||||
check_trivial "joystick" $_joystick JOYSTICK
|
||||
|
||||
check_trivial "encoding" $_encoding ENCODING
|
||||
|
||||
# needs dlopen on unix
|
||||
|
@ -73,7 +73,6 @@ SOURCES-$(GL_WAYLAND) += video/out/wayland_common.c \
|
||||
video/out/gl_wayland.c
|
||||
|
||||
SOURCES-$(JACK) += audio/out/ao_jack.c
|
||||
SOURCES-$(JOYSTICK) += input/joystick.c
|
||||
SOURCES-$(OPENAL) += audio/out/ao_openal.c
|
||||
SOURCES-$(OSS_AUDIO) += audio/out/ao_oss.c
|
||||
SOURCES-$(PULSE) += audio/out/ao_pulse.c
|
||||
|
@ -616,7 +616,6 @@ const m_option_t mp_opts[] = {
|
||||
OPT_REPLACED("noar", "no-input-appleremote"),
|
||||
OPT_REPLACED("noautosub", "no-sub-auto"),
|
||||
OPT_REPLACED("noconsolecontrols", "no-input-terminal"),
|
||||
OPT_REPLACED("nojoystick", "no-input-joystick"),
|
||||
OPT_REPLACED("nosound", "no-audio"),
|
||||
OPT_REPLACED("osdlevel", "osd-level"),
|
||||
OPT_REMOVED("panscanrange", "use --video-zoom, --video-pan-x/y"),
|
||||
|
5
wscript
5
wscript
@ -308,11 +308,6 @@ iconv support use --disable-iconv.",
|
||||
'name' : '--encoding',
|
||||
'desc' : 'Encoding',
|
||||
'func': check_true,
|
||||
}, {
|
||||
'name' : '--joystick',
|
||||
'desc' : 'joystick',
|
||||
'func': check_cc(header_name='linux/joystick.h'),
|
||||
'default': 'disable'
|
||||
}, {
|
||||
'name': '--libbluray',
|
||||
'desc': 'Bluray support',
|
||||
|
@ -184,7 +184,6 @@ def build(ctx):
|
||||
( "input/ipc.c", "!mingw" ),
|
||||
( "input/keycodes.c" ),
|
||||
( "input/pipe-win32.c", "waio" ),
|
||||
( "input/joystick.c", "joystick" ),
|
||||
|
||||
## Misc
|
||||
( "misc/bstr.c" ),
|
||||
|
Loading…
Reference in New Issue
Block a user