if (axis_align->flip_y)
y = max(sensor->max_y - y, 0);
- //printk("+x:%d, y:%d\n", x , y);
+
/*
** here checking if X offset or y offset are specified is
** redundant. We just add the offsets or, clip the values
w_min = max(1, w_min);
}
#endif
-
+ //printk("+finger:%d, state:%d x:%d, y:%d\n",n_finger, finger_state, x , y);
input_mt_slot(sensor->input, n_finger);
input_mt_report_slot_state(sensor->input, MT_TOOL_FINGER, true);
input_report_abs(sensor->input, ABS_MT_TRACKING_ID, n_finger);
u8 finger_state;
u8 finger_pressed_count;
u8 i;
-
for (i = 0, finger_pressed_count = 0; i < sensor->nbr_fingers; i++) {
/* Possible of having 4 fingers per f_statet register */
finger_state = GET_FINGER_STATE(f_state, i);
pr_err("%s: Invalid finger state[%d]:0x%02x.", __func__,
i, finger_state);
continue;
- } else if ((finger_state == F11_PRESENT) ||
- (finger_state == F11_INACCURATE)) {
+ } else if (finger_state == F11_PRESENT) {
finger_pressed_count++;
+ } else if (finger_state == F11_INACCURATE) {
+ continue;
}
if (sensor->data.abs_pos)
static int rmi_f11_init(struct rmi_function_container *fc)
{
int rc;
-
+ char buf[10];
rc = rmi_f11_initialize(fc);
if (rc < 0)
goto err_free_data;
if (rc < 0)
goto err_free_data;
+ //hhb@rock-chips.com
+ buf[0] = 0x09;
+ //buf[1] = 0x1b;
+ rmi_write_block(fc->rmi_dev, fc->fd.control_base_addr, buf, 1);
return 0;
err_free_data:
if (rc < 0)
return rc;
}
-
return 0;
}