mpv/input
James Ross-Gowan 937128697f input: pre-process MP_AXIS_* input
This adds some logic for pre-processing MP_AXIS_* events before the
corresponding input command is generated.

Firstly, the events are filtered. A lot of touchpad drivers and
operating systems don't seem to filter axis events, which makes it
difficult to use the verical axis (MP_AXIS_UP/MP_AXIS_DOWN) without
accidentally triggering commands bound to the horizontal axis
(MP_AXIS_LEFT/MP_AXIS_RIGHT) and vice-versa. To fix this, a small
deadzone is used. When one axis breaks out of the deadzone, events on
the other axis are ignored until the user stops scrolling (determined by
a timer.)

Secondly, the scale_units value is determined, which is the integer
number of "units" the user has scrolled, as opposed to scale, which is
the fractional number of units. It's determed by accumulating the
fractional scale values. If an axis is bound to a "non-scalable" command
that doesn't understand fractional units, interpret_key() will queue
that many commands, each with scale = 1.0.
2017-05-12 22:58:58 +10:00
..
cmd_list.c command: mark some commands as "scalable" 2017-05-12 22:58:58 +10:00
cmd_list.h command: mark some commands as "scalable" 2017-05-12 22:58:58 +10:00
cmd_parse.c input: add "async" flag 2017-04-01 20:36:39 +02:00
cmd_parse.h
event.c Use - as command-name separator everywhere 2016-07-14 22:37:42 +02:00
event.h
input.c input: pre-process MP_AXIS_* input 2017-05-12 22:58:58 +10:00
input.h input: add "async" flag 2017-04-01 20:36:39 +02:00
ipc-unix.c ipc: log when listening to IPC socket 2016-09-29 16:47:19 +02:00
ipc-win.c ipc: log when listening to IPC socket 2016-09-29 16:47:19 +02:00
ipc.c ipc: raise json nesting limit 2017-05-03 20:47:11 +02:00
keycodes.c
keycodes.h input: add MP_KEY_IS_AXIS and treat MP_AXIS_* as mouse events 2017-05-12 22:58:58 +10:00
pipe-win32.c osdep: rename atomics.h to atomic.h 2016-09-07 11:26:25 +02:00