summaryrefslogtreecommitdiff
path: root/sys/isa/psm.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/isa/psm.c')
-rw-r--r--sys/isa/psm.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/sys/isa/psm.c b/sys/isa/psm.c
index 731653b2f7a5..415cf74becaa 100644
--- a/sys/isa/psm.c
+++ b/sys/isa/psm.c
@@ -2508,9 +2508,16 @@ psmsoftintr(void *arg)
/* Pressure value. */
z = pb->ipacket[2];
- w = ((pb->ipacket[0] & 0x30) >> 2) |
- ((pb->ipacket[0] & 0x04) >> 1) |
- ((pb->ipacket[3] & 0x04) >> 2);
+
+ /* Finger width value */
+ if (sc->synhw.capExtended) {
+ w = ((pb->ipacket[0] & 0x30) >> 2) |
+ ((pb->ipacket[0] & 0x04) >> 1) |
+ ((pb->ipacket[3] & 0x04) >> 2);
+ } else {
+ /* Assume a finger of regular width */
+ w = 4;
+ }
/* Button presses */
ms.button = 0;