input: bcm5974: Add quad-finger tapping
Subsystems (3)
PATCH 2/4 input: bcm5974: Add quad-finger tapping
The integrated button on the new unibody Macbooks presents a need to report explicit four-finger actions. Evidently, the finger pressing the button is also touching the trackpad, so in order to fully support three-finger actions, the driver must be able to report four-finger actions. This patch adds a new button, BTN_TOOL_QUADTAP, which achieves this.
Signed-off-by Henrik Rydberg <[email protected]>
--- drivers/input/mouse/bcm5974.c | 4 +++- include/linux/input.h | 1 + 2 files changed, 4 insertions(+), 1 deletions(-)
drivers/input/mouse/bcm5974.c +3 -1
@@ -258,6 +258,7 @@ static void setup_events_to_report(struct input_dev *input_dev,__set_bit (BTN_TOOL_FINGER , input_dev->keybit);__set_bit (BTN_TOOL_DOUBLETAP , input_dev->keybit);__set_bit (BTN_TOOL_TRIPLETAP , input_dev->keybit); +__set_bit (BTN_TOOL_QUADTAP , input_dev->keybit);__set_bit (BTN_LEFT , input_dev->keybit); }
@@ -328,7 +329,8 @@ static int report_tp_state(struct bcm5974 *dev, int size)input_report_key (input,BTN_TOUCH , dev->fingers >0 );input_report_key (input,BTN_TOOL_FINGER , dev->fingers ==1 );input_report_key (input,BTN_TOOL_DOUBLETAP , dev->fingers ==2 ); -input_report_key (input,BTN_TOOL_TRIPLETAP , dev->fingers >2 ); +input_report_key (input,BTN_TOOL_TRIPLETAP , dev->fingers ==3 ); +input_report_key (input,BTN_TOOL_QUADTAP , dev->fingers >3 );input_report_abs (input,ABS_PRESSURE , abs_p);input_report_abs (input,ABS_TOOL_WIDTH , abs_w);
include/linux/input.h +1 -0
@@ -443,6 +443,7 @@ struct input_absinfo {#define BTN_STYLUS2 0x14c#define BTN_TOOL_DOUBLETAP 0x14d#define BTN_TOOL_TRIPLETAP 0x14e +#define BTN_TOOL_QUADTAP 0x14f/* Four fingers on trackpad */ #define BTN_WHEEL 0x150#define BTN_GEAR_DOWN 0x150
Signature · 1 line
1.5.6.3