input: touchscreen: fts_spi: Report fp_state to sysfs

Change-Id: If5a7ab3adfdbbf44ea9940450fa388c4d03fa2ad
This commit is contained in:
UP5468-GE-ES44AC
2024-10-30 23:49:58 +01:00
committed by TechPanelGM
parent 8e45550cb9
commit cc846a3479
2 changed files with 25 additions and 0 deletions

View File

@@ -533,6 +533,22 @@ static struct tp_common_ops double_tap_ops = {
.show = double_tap_show, .show = double_tap_show,
.store = double_tap_store, .store = double_tap_store,
}; };
#ifdef CONFIG_TOUCHSCREEN_FOD
static ssize_t fp_state_show(struct kobject *kobj,
struct kobj_attribute *attr, char *buf)
{
if (!fts_info)
return -EINVAL;
return sprintf(buf, "%d,%d,%d\n", fts_info->fod_pressed_x, fts_info->fod_pressed_y,
fts_info->fod_pressed);
}
static struct tp_common_ops fp_state_ops = {
.show = fp_state_show,
};
#endif
#endif #endif
#ifdef GRIP_MODE #ifdef GRIP_MODE
@@ -4328,6 +4344,9 @@ static void fts_gesture_event_handler(struct fts_ts_info *info,
!info->sleep_finger) || !info->sleep_finger) ||
!info->sensor_sleep) { !info->sensor_sleep) {
info->fod_pressed = true; info->fod_pressed = true;
info->fod_pressed_x = x;
info->fod_pressed_y = y;
tp_common_notify_fp_state();
input_report_key(info->input_dev, input_report_key(info->input_dev,
BTN_INFO, 1); BTN_INFO, 1);
input_sync(info->input_dev); input_sync(info->input_dev);
@@ -4422,6 +4441,9 @@ static void fts_gesture_event_handler(struct fts_ts_info *info,
info->sleep_finger = 0; info->sleep_finger = 0;
info->fod_overlap = 0; info->fod_overlap = 0;
info->fod_pressed = false; info->fod_pressed = false;
info->fod_pressed_x = 0;
info->fod_pressed_y = 0;
tp_common_notify_fp_state();
goto gesture_done; goto gesture_done;
} }
#endif #endif
@@ -8241,6 +8263,7 @@ static int fts_probe(struct spi_device *client)
tp_common_set_double_tap_ops(&double_tap_ops); tp_common_set_double_tap_ops(&double_tap_ops);
#ifdef CONFIG_TOUCHSCREEN_FOD #ifdef CONFIG_TOUCHSCREEN_FOD
tp_common_set_fod_status_ops(&fod_status_ops); tp_common_set_fod_status_ops(&fod_status_ops);
tp_common_set_fp_state_ops(&fp_state_ops);
#endif #endif
#endif #endif

View File

@@ -387,6 +387,8 @@ struct fts_ts_info {
unsigned long fod_id; unsigned long fod_id;
unsigned long fod_x; unsigned long fod_x;
unsigned long fod_y; unsigned long fod_y;
unsigned long fod_pressed_x;
unsigned long fod_pressed_y;
struct mutex fod_mutex; struct mutex fod_mutex;
struct mutex cmd_update_mutex; struct mutex cmd_update_mutex;
bool fod_coordinate_update; bool fod_coordinate_update;