diff options
-rw-r--r-- | DOCS/man/mpv.rst | 2 | ||||
-rw-r--r-- | DOCS/man/options.rst | 6 | ||||
-rw-r--r-- | DOCS/mplayer-changes.rst | 1 | ||||
-rw-r--r-- | etc/input.conf | 14 | ||||
-rw-r--r-- | etc/mplayer-input.conf | 16 | ||||
-rw-r--r-- | input/input.c | 9 | ||||
-rw-r--r-- | input/input.h | 1 | ||||
-rw-r--r-- | input/joystick.c | 216 | ||||
-rw-r--r-- | input/keycodes.c | 36 | ||||
-rw-r--r-- | input/keycodes.h | 37 | ||||
-rwxr-xr-x | old-configure | 3 | ||||
-rw-r--r-- | old-makefile | 1 | ||||
-rw-r--r-- | options/options.c | 1 | ||||
-rw-r--r-- | wscript | 5 | ||||
-rw-r--r-- | wscript_build.py | 1 |
15 files changed, 1 insertions, 348 deletions
diff --git a/DOCS/man/mpv.rst b/DOCS/man/mpv.rst index df25af40c7..74750673dd 100644 --- a/DOCS/man/mpv.rst +++ b/DOCS/man/mpv.rst @@ -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. diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst index 458ec87fca..763e0c832a 100644 --- a/DOCS/man/options.rst +++ b/DOCS/man/options.rst @@ -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). diff --git a/DOCS/mplayer-changes.rst b/DOCS/mplayer-changes.rst index 97892a4232..bd803e41f3 100644 --- a/DOCS/mplayer-changes.rst +++ b/DOCS/mplayer-changes.rst @@ -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`` diff --git a/etc/input.conf b/etc/input.conf index f30eb977c5..02b396956f 100644 --- a/etc/input.conf +++ b/etc/input.conf @@ -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 diff --git a/etc/mplayer-input.conf b/etc/mplayer-input.conf index 0837039fe3..de60fdcca9 100644 --- a/etc/mplayer-input.conf +++ b/etc/mplayer-input.conf @@ -75,22 +75,6 @@ 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 ## ## To use OSD menu with Apple Remote, set key AR_MENU to any OSD menu command, diff --git a/input/input.c b/input/input.c index b6719fc297..6bbba907d1 100644 --- a/input/input.c +++ b/input/input.c @@ -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; } diff --git a/input/input.h b/input/input.h index b684903ef5..c26273088f 100644 --- a/input/input.h +++ b/input/input.h @@ -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; diff --git a/input/joystick.c b/input/joystick.c deleted file mode 100644 index e3df106735..0000000000 --- a/input/joystick.c +++ /dev/null @@ -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); -} diff --git a/input/keycodes.c b/input/keycodes.c index 012fd006ce..ce59bd7e9b 100644 --- a/input/keycodes.c +++ b/input/keycodes.c @@ -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" }, diff --git a/input/keycodes.h b/input/keycodes.h index 7df93af6f4..44d71b3872 100644 --- a/input/keycodes.h +++ b/input/keycodes.h @@ -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) diff --git a/old-configure b/old-configure index be271aaa9c..3773cfcc05 100755 --- a/old-configure +++ b/old-configure @@ -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 diff --git a/old-makefile b/old-makefile index 4eda62fa54..883c2f60bd 100644 --- a/old-makefile +++ b/old-makefile @@ -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 diff --git a/options/options.c b/options/options.c index f806643ad0..20876c0e4a 100644 --- a/options/options.c +++ b/options/options.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"), @@ -309,11 +309,6 @@ iconv support use --disable-iconv.", 'desc' : 'Encoding', 'func': check_true, }, { - 'name' : '--joystick', - 'desc' : 'joystick', - 'func': check_cc(header_name='linux/joystick.h'), - 'default': 'disable' - }, { 'name': '--libbluray', 'desc': 'Bluray support', 'func': check_pkg_config('libbluray', '>= 0.3.0'), diff --git a/wscript_build.py b/wscript_build.py index 06e0048b7c..3396bd5d06 100644 --- a/wscript_build.py +++ b/wscript_build.py @@ -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" ), |