diff options
Diffstat (limited to 'driver')
-rw-r--r-- | driver/touchpad_elan.c | 1 | ||||
-rw-r--r-- | driver/touchpad_st.c | 4 |
2 files changed, 4 insertions, 1 deletions
diff --git a/driver/touchpad_elan.c b/driver/touchpad_elan.c index 9cc399ae6e..8988a99cf0 100644 --- a/driver/touchpad_elan.c +++ b/driver/touchpad_elan.c @@ -237,6 +237,7 @@ static int elan_tp_read_report(void) height = MIN(4095, height * elan_tp_params.width_y); pressure = MIN(1023, pressure); + report.finger[ri].confidence = 1; report.finger[ri].tip = 1; report.finger[ri].inrange = 1; report.finger[ri].id = i; diff --git a/driver/touchpad_st.c b/driver/touchpad_st.c index 340923e587..7384e33af9 100644 --- a/driver/touchpad_st.c +++ b/driver/touchpad_st.c @@ -99,6 +99,8 @@ static int st_tp_parse_finger(struct usb_hid_touchpad_report *report, switch (event->evt_id) { case ST_TP_EVENT_ID_ENTER_POINTER: case ST_TP_EVENT_ID_MOTION_POINTER: + /* Pressure == 255 is a palm. */ + report->finger[i].confidence = (event->finger.z < 255); report->finger[i].tip = 1; report->finger[i].inrange = 1; report->finger[i].id = event->finger.touch_id; @@ -145,7 +147,7 @@ static int st_tp_write_hid_report(void) return ret; memset(&report, 0, sizeof(report)); - report.id = 0x1; + report.id = REPORT_ID_TOUCHPAD; num_finger = 0; for (i = 0; i < ARRAY_SIZE(rx_buf.events); i++) { |