| .. | .. |
|---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-or-later |
|---|
| 1 | 2 | /* |
|---|
| 2 | 3 | * Focaltech TouchPad PS/2 mouse driver |
|---|
| 3 | 4 | * |
|---|
| 4 | 5 | * Copyright (c) 2014 Red Hat Inc. |
|---|
| 5 | 6 | * Copyright (c) 2014 Mathias Gottschlag <mgottschlag@gmail.com> |
|---|
| 6 | | - * |
|---|
| 7 | | - * This program is free software; you can redistribute it and/or modify |
|---|
| 8 | | - * it under the terms of the GNU General Public License as published by |
|---|
| 9 | | - * the Free Software Foundation; either version 2 of the License, or |
|---|
| 10 | | - * (at your option) any later version. |
|---|
| 11 | 7 | * |
|---|
| 12 | 8 | * Red Hat authors: |
|---|
| 13 | 9 | * |
|---|
| .. | .. |
|---|
| 206 | 202 | state->pressed = packet[0] >> 7; |
|---|
| 207 | 203 | finger1 = ((packet[0] >> 4) & 0x7) - 1; |
|---|
| 208 | 204 | if (finger1 < FOC_MAX_FINGERS) { |
|---|
| 209 | | - state->fingers[finger1].x += (char)packet[1]; |
|---|
| 210 | | - state->fingers[finger1].y += (char)packet[2]; |
|---|
| 205 | + state->fingers[finger1].x += (s8)packet[1]; |
|---|
| 206 | + state->fingers[finger1].y += (s8)packet[2]; |
|---|
| 211 | 207 | } else { |
|---|
| 212 | 208 | psmouse_err(psmouse, "First finger in rel packet invalid: %d\n", |
|---|
| 213 | 209 | finger1); |
|---|
| .. | .. |
|---|
| 222 | 218 | */ |
|---|
| 223 | 219 | finger2 = ((packet[3] >> 4) & 0x7) - 1; |
|---|
| 224 | 220 | if (finger2 < FOC_MAX_FINGERS) { |
|---|
| 225 | | - state->fingers[finger2].x += (char)packet[4]; |
|---|
| 226 | | - state->fingers[finger2].y += (char)packet[5]; |
|---|
| 221 | + state->fingers[finger2].x += (s8)packet[4]; |
|---|
| 222 | + state->fingers[finger2].y += (s8)packet[5]; |
|---|
| 227 | 223 | } |
|---|
| 228 | 224 | } |
|---|
| 229 | 225 | |
|---|