ABS_HAT0X
[ABS_BRAKE] = "Brake", [ABS_HAT0X] = "Hat0X",
map_abs(ABS_HAT0X);
map_abs(ABS_HAT0X);
input_report_abs(ctlr->input, ABS_HAT0X, hatx);
ABS_HAT0X,
input_report_abs(ds->gamepad, ABS_HAT0X, ps_gamepad_hat_mapping[value].x);
input_report_abs(ds4->gamepad, ABS_HAT0X, ps_gamepad_hat_mapping[value].x);
input_set_abs_params(gamepad, ABS_HAT0X, -1, 1, 0, 0);
input_report_abs(input, lpad_touched ? ABS_HAT0X : ABS_X, x);
input_report_abs(input, ABS_HAT0X, 0);
input_report_abs(input, ABS_HAT0X, steam_le16(data + 16));
input_report_abs(input, ABS_HAT0X, 0);
input_set_abs_params(input, ABS_HAT0X, -32767, 32767,
input_abs_set_res(input, ABS_HAT0X, STEAM_PAD_RESOLUTION);
input_report_abs(wdata->extension.input, ABS_HAT0X, val[0]);
set_bit(ABS_HAT0X, wdata->extension.input->absbit);
ABS_HAT0X, 0, 65535, 2, 4);
ABS_HAT0X, 0x19);
set_bit(ABS_HAT0X, wdata->extension.input->absbit);
ABS_HAT0X, 0, 7, 0, 0);
input_report_abs(wdata->extension.input, ABS_HAT0X, tb);
set_bit(ABS_HAT0X, wdata->extension.input->absbit);
ABS_HAT0X, 0, 0x1f, 1, 1);
input_report_abs(wdata->extension.input, ABS_HAT0X, rtt);
set_bit(ABS_HAT0X, wdata->extension.input->absbit);
ABS_HAT0X, -8, 8, 0, 0);
xid = ABS_HAT0X;
set_bit(ABS_HAT0X, wdata->ir->absbit);
input_set_abs_params(wdata->ir, ABS_HAT0X, 0, 1023, 2, 4);
input_report_abs(wdata->extension.input, ABS_HAT0X, bx);
set_bit(ABS_HAT0X, wdata->extension.input->absbit);
ABS_HAT0X, -120, 120, 2, 4);
input_report_abs(dev, ABS_HAT0X, ( data[5] & 1) - ((data[5] >> 2) & 1));
BIT_MASK(ABS_HAT0X) | BIT_MASK(ABS_HAT0Y) |
input_set_abs_params(input_dev, ABS_HAT0X + i, -1, 1, 0, 0);
static char adi_wmgpe_abs[] = { ABS_X, ABS_Y, ABS_HAT0X, ABS_HAT0Y };
static char adi_wmi_abs[] = { ABS_X, ABS_Y, ABS_THROTTLE, ABS_HAT0X, ABS_HAT0Y, ABS_HAT1X, ABS_HAT1Y, ABS_HAT2X, ABS_HAT2Y };
static char adi_wmed3d_abs[] = { ABS_X, ABS_Y, ABS_THROTTLE, ABS_RZ, ABS_HAT0X, ABS_HAT0Y };
static char adi_wmf_abs[] = { ABS_WHEEL, ABS_GAS, ABS_BRAKE, ABS_HAT0X, ABS_HAT0Y, ABS_HAT1X, ABS_HAT1Y, ABS_HAT2X, ABS_HAT2Y };
static short analog_hats[] = { ABS_HAT0X, ABS_HAT0Y, ABS_HAT1X, ABS_HAT1Y, ABS_HAT2X, ABS_HAT2Y };
static const short db9_abs[] = { ABS_X, ABS_Y, ABS_RX, ABS_RY, ABS_RZ, ABS_Z, ABS_HAT0X, ABS_HAT0Y, ABS_HAT1X, ABS_HAT1Y };
ABS_HAT0X, ABS_HAT0Y,
input_report_abs(dev, ABS_HAT0X,
ABS_X, ABS_Y, ABS_RX, ABS_RY, ABS_HAT0X, ABS_HAT0Y
input_set_abs_params(input_dev, ABS_HAT0X + i, -1, 1, 0, 0);
input_report_abs(dev, ABS_HAT0X + i, gf2k_hat_to_axis[t][i]);
input_set_abs_params(input_dev, ABS_HAT0X + i, -1, 1, 0, 0);
input_report_abs(dev, ABS_HAT0X, ((data[2] >> 1) & 1) - ( data[2] & 1));
input_report_abs(dev, ABS_HAT0X, ((data[2] >> 1) & 1) - ( data[2] & 1));
input_report_abs(dev, ABS_HAT0X, ((data[2] >> 1) & 1) - ( data[2] & 1));
static int grip_abs_bd[] = { ABS_X, ABS_Y, ABS_THROTTLE, ABS_HAT0X, ABS_HAT0Y, -1 };
static int grip_abs_xt[] = { ABS_X, ABS_Y, ABS_BRAKE, ABS_GAS, ABS_THROTTLE, ABS_HAT0X, ABS_HAT0Y, ABS_HAT1X, ABS_HAT1Y, -1 };
static int grip_abs_dc[] = { ABS_X, ABS_Y, ABS_RX, ABS_RY, ABS_THROTTLE, ABS_HAT0X, ABS_HAT0Y, -1 };
input_report_abs(dev, ABS_HAT0X, guillemot_hat_to_axis[data[4] >> 4].x);
input_set_abs_params(input_dev, ABS_HAT0X, -1, 1, 0, 0);
{ ABS_X, ABS_Y, ABS_THROTTLE, ABS_HAT0X, ABS_HAT0Y, -1 };
{ ABS_X, ABS_Y, ABS_THROTTLE, ABS_RUDDER, ABS_HAT0X, ABS_HAT0Y, -1 };
case ABS_HAT0X:
{ ABS_X, ABS_Y, ABS_THROTTLE, ABS_RUDDER, ABS_HAT0X, ABS_HAT0Y,
{ ABS_WHEEL, ABS_GAS, ABS_BRAKE, ABS_HAT0X, ABS_HAT0Y, -1 };
input_report_abs(dev, ABS_HAT0X, iforce_hat_to_axis[data[6] >> 4].x);
{ ABS_RX, ABS_RY, ABS_X, ABS_Y, ABS_HAT0X, ABS_HAT0Y, -1 };
for (i = ABS_HAT0X; i <= ABS_HAT3Y; i++)
input_report_abs(dev, ABS_HAT0X,
-1, -1, -1, -1, ABS_HAT0Y, ABS_HAT0Y, ABS_HAT0X, ABS_HAT0X,
input_report_abs(dev, ABS_HAT0X, sw_hat_to_axis[hat].x);
input_report_abs(dev, ABS_HAT0X, sw_hat_to_axis[hat].x);
input_report_abs(dev, ABS_HAT0X, sw_hat_to_axis[hat].x);
{ ABS_X, ABS_Y, ABS_RZ, ABS_THROTTLE, ABS_HAT0X, ABS_HAT0Y },
{ ABS_X, ABS_Y, ABS_RZ, ABS_THROTTLE, ABS_HAT0X, ABS_HAT0Y },
{ ABS_X, ABS_Y, ABS_RZ, ABS_THROTTLE, ABS_HAT0X, ABS_HAT0Y },
{ ABS_X, ABS_Y, ABS_THROTTLE, ABS_HAT0X, ABS_HAT0Y },
input_report_abs(port->dev, ABS_HAT0X, ((data[i] >> 3) & 1) - ((data[i] >> 1) & 1));
input_report_abs(port->dev, ABS_HAT0X, tmdc_hat_to_axis[(data[i] - 141) / 25].x);
{ ABS_HAT0X, ABS_HAT0Y, ABS_HAT1X, ABS_HAT1Y };
input_set_abs_params(input_dev, ABS_HAT0X, -1, 1, 0, 0);
input_report_abs(dev, ABS_HAT0X, (data[3] & 2 ? 1 : 0) - (data[3] & 1 ? 1 : 0));
input_report_abs(dev, ABS_HAT0X,
case ABS_HAT0X:
ABS_HAT0X, ABS_HAT0Y, /* d-pad axes */
input_report_abs(dev, ABS_HAT0X,
input_report_abs(dev, ABS_HAT0X,
#define KONTROLS4_ABS(X) ((X) + ABS_HAT0X)
snd_caiaq_input_report_abs(cdev, ABS_HAT0X, buf, 4);
input_report_abs(input_dev, ABS_HAT0X, i);
input_report_abs(input_dev, ABS_HAT0X, decode_erp(buf[21], buf[20]));
input->absbit[0] = BIT_MASK(ABS_HAT0X) | BIT_MASK(ABS_HAT0Y) |
input_set_abs_params(input, ABS_HAT0X, 0, 999, 0, 10);
input->absbit[0] = BIT_MASK(ABS_HAT0X) | BIT_MASK(ABS_HAT0Y) |
input_set_abs_params(input, ABS_HAT0X, 0, 4096, 0, 10);
input->absbit[0] = BIT_MASK(ABS_HAT0X) | BIT_MASK(ABS_HAT0Y) |
input_set_abs_params(input, ABS_HAT0X, 0, 999, 0, 10);