#include <linux/device.h>
#include <linux/gfp.h>
#include <linux/init.h>
#include <linux/usb.h>
#include <linux/usb/input.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include "device.h"
#include "input.h"
static const unsigned short keycode_ak1[] = …;
static const unsigned short keycode_rk2[] = …;
static const unsigned short keycode_rk3[] = …;
static const unsigned short keycode_kore[] = …;
#define MASCHINE_BUTTONS …
#define MASCHINE_BUTTON(X) …
#define MASCHINE_PADS …
#define MASCHINE_PAD(X) …
static const unsigned short keycode_maschine[] = …;
#define KONTROLX1_INPUTS …
#define KONTROLS4_BUTTONS …
#define KONTROLS4_AXIS …
#define KONTROLS4_BUTTON(X) …
#define KONTROLS4_ABS(X) …
#define DEG90 …
#define DEG180 …
#define DEG270 …
#define DEG360 …
#define HIGH_PEAK …
#define LOW_PEAK …
static unsigned int decode_erp(unsigned char a, unsigned char b)
{ … }
#undef DEG90
#undef DEG180
#undef DEG270
#undef DEG360
#undef HIGH_PEAK
#undef LOW_PEAK
static inline void snd_caiaq_input_report_abs(struct snd_usb_caiaqdev *cdev,
int axis, const unsigned char *buf,
int offset)
{ … }
static void snd_caiaq_input_read_analog(struct snd_usb_caiaqdev *cdev,
const unsigned char *buf,
unsigned int len)
{ … }
static void snd_caiaq_input_read_erp(struct snd_usb_caiaqdev *cdev,
const char *buf, unsigned int len)
{ … }
static void snd_caiaq_input_read_io(struct snd_usb_caiaqdev *cdev,
unsigned char *buf, unsigned int len)
{ … }
#define TKS4_MSGBLOCK_SIZE …
static void snd_usb_caiaq_tks4_dispatch(struct snd_usb_caiaqdev *cdev,
const unsigned char *buf,
unsigned int len)
{ … }
#define MASCHINE_MSGBLOCK_SIZE …
static void snd_usb_caiaq_maschine_dispatch(struct snd_usb_caiaqdev *cdev,
const unsigned char *buf,
unsigned int len)
{ … }
static void snd_usb_caiaq_ep4_reply_dispatch(struct urb *urb)
{ … }
static int snd_usb_caiaq_input_open(struct input_dev *idev)
{ … }
static void snd_usb_caiaq_input_close(struct input_dev *idev)
{ … }
void snd_usb_caiaq_input_dispatch(struct snd_usb_caiaqdev *cdev,
char *buf,
unsigned int len)
{ … }
int snd_usb_caiaq_input_init(struct snd_usb_caiaqdev *cdev)
{ … }
void snd_usb_caiaq_input_free(struct snd_usb_caiaqdev *cdev)
{ … }