diff options
-rw-r--r-- | drivers/input/mouse/alps.c | 23 | ||||
-rw-r--r-- | drivers/input/mouse/alps.h | 10 |
2 files changed, 19 insertions, 14 deletions
diff --git a/drivers/input/mouse/alps.c b/drivers/input/mouse/alps.c index 579b899add26..dbe57da8c1a1 100644 --- a/drivers/input/mouse/alps.c +++ b/drivers/input/mouse/alps.c | |||
@@ -1250,29 +1250,32 @@ static int alps_decode_ss4_v2(struct alps_fields *f, | |||
1250 | case SS4_PACKET_ID_MULTI: | 1250 | case SS4_PACKET_ID_MULTI: |
1251 | if (priv->flags & ALPS_BUTTONPAD) { | 1251 | if (priv->flags & ALPS_BUTTONPAD) { |
1252 | if (IS_SS4PLUS_DEV(priv->dev_id)) { | 1252 | if (IS_SS4PLUS_DEV(priv->dev_id)) { |
1253 | f->mt[0].x = SS4_PLUS_BTL_MF_X_V2(p, 0); | 1253 | f->mt[2].x = SS4_PLUS_BTL_MF_X_V2(p, 0); |
1254 | f->mt[1].x = SS4_PLUS_BTL_MF_X_V2(p, 1); | 1254 | f->mt[3].x = SS4_PLUS_BTL_MF_X_V2(p, 1); |
1255 | no_data_x = SS4_PLUS_MFPACKET_NO_AX_BL; | ||
1255 | } else { | 1256 | } else { |
1256 | f->mt[2].x = SS4_BTL_MF_X_V2(p, 0); | 1257 | f->mt[2].x = SS4_BTL_MF_X_V2(p, 0); |
1257 | f->mt[3].x = SS4_BTL_MF_X_V2(p, 1); | 1258 | f->mt[3].x = SS4_BTL_MF_X_V2(p, 1); |
1259 | no_data_x = SS4_MFPACKET_NO_AX_BL; | ||
1258 | } | 1260 | } |
1261 | no_data_y = SS4_MFPACKET_NO_AY_BL; | ||
1259 | 1262 | ||
1260 | f->mt[2].y = SS4_BTL_MF_Y_V2(p, 0); | 1263 | f->mt[2].y = SS4_BTL_MF_Y_V2(p, 0); |
1261 | f->mt[3].y = SS4_BTL_MF_Y_V2(p, 1); | 1264 | f->mt[3].y = SS4_BTL_MF_Y_V2(p, 1); |
1262 | no_data_x = SS4_MFPACKET_NO_AX_BL; | ||
1263 | no_data_y = SS4_MFPACKET_NO_AY_BL; | ||
1264 | } else { | 1265 | } else { |
1265 | if (IS_SS4PLUS_DEV(priv->dev_id)) { | 1266 | if (IS_SS4PLUS_DEV(priv->dev_id)) { |
1266 | f->mt[0].x = SS4_PLUS_STD_MF_X_V2(p, 0); | 1267 | f->mt[2].x = SS4_PLUS_STD_MF_X_V2(p, 0); |
1267 | f->mt[1].x = SS4_PLUS_STD_MF_X_V2(p, 1); | 1268 | f->mt[3].x = SS4_PLUS_STD_MF_X_V2(p, 1); |
1269 | no_data_x = SS4_PLUS_MFPACKET_NO_AX; | ||
1268 | } else { | 1270 | } else { |
1269 | f->mt[0].x = SS4_STD_MF_X_V2(p, 0); | 1271 | f->mt[2].x = SS4_STD_MF_X_V2(p, 0); |
1270 | f->mt[1].x = SS4_STD_MF_X_V2(p, 1); | 1272 | f->mt[3].x = SS4_STD_MF_X_V2(p, 1); |
1273 | no_data_x = SS4_MFPACKET_NO_AX; | ||
1271 | } | 1274 | } |
1275 | no_data_y = SS4_MFPACKET_NO_AY; | ||
1276 | |||
1272 | f->mt[2].y = SS4_STD_MF_Y_V2(p, 0); | 1277 | f->mt[2].y = SS4_STD_MF_Y_V2(p, 0); |
1273 | f->mt[3].y = SS4_STD_MF_Y_V2(p, 1); | 1278 | f->mt[3].y = SS4_STD_MF_Y_V2(p, 1); |
1274 | no_data_x = SS4_MFPACKET_NO_AX; | ||
1275 | no_data_y = SS4_MFPACKET_NO_AY; | ||
1276 | } | 1279 | } |
1277 | 1280 | ||
1278 | f->first_mp = 0; | 1281 | f->first_mp = 0; |
diff --git a/drivers/input/mouse/alps.h b/drivers/input/mouse/alps.h index c80a7c76cb76..79b6d69d1486 100644 --- a/drivers/input/mouse/alps.h +++ b/drivers/input/mouse/alps.h | |||
@@ -141,10 +141,12 @@ enum SS4_PACKET_ID { | |||
141 | #define SS4_TS_Z_V2(_b) (s8)(_b[4] & 0x7F) | 141 | #define SS4_TS_Z_V2(_b) (s8)(_b[4] & 0x7F) |
142 | 142 | ||
143 | 143 | ||
144 | #define SS4_MFPACKET_NO_AX 8160 /* X-Coordinate value */ | 144 | #define SS4_MFPACKET_NO_AX 8160 /* X-Coordinate value */ |
145 | #define SS4_MFPACKET_NO_AY 4080 /* Y-Coordinate value */ | 145 | #define SS4_MFPACKET_NO_AY 4080 /* Y-Coordinate value */ |
146 | #define SS4_MFPACKET_NO_AX_BL 8176 /* Buttonless X-Coordinate value */ | 146 | #define SS4_MFPACKET_NO_AX_BL 8176 /* Buttonless X-Coord value */ |
147 | #define SS4_MFPACKET_NO_AY_BL 4088 /* Buttonless Y-Coordinate value */ | 147 | #define SS4_MFPACKET_NO_AY_BL 4088 /* Buttonless Y-Coord value */ |
148 | #define SS4_PLUS_MFPACKET_NO_AX 4080 /* SS4 PLUS, X */ | ||
149 | #define SS4_PLUS_MFPACKET_NO_AX_BL 4088 /* Buttonless SS4 PLUS, X */ | ||
148 | 150 | ||
149 | /* | 151 | /* |
150 | * enum V7_PACKET_ID - defines the packet type for V7 | 152 | * enum V7_PACKET_ID - defines the packet type for V7 |