diff options
author | Vladimir Kondratyev <wulf@FreeBSD.org> | 2020-12-21 15:24:09 +0000 |
---|---|---|
committer | Vladimir Kondratyev <wulf@FreeBSD.org> | 2020-12-23 08:09:25 +0000 |
commit | a223aa8abd6d1bf9547262c9a52333bcf4d0d13a (patch) | |
tree | 0d596e4079639db98d99c208daddd016e84a52b3 /sys | |
parent | 659f1a6aad04adf0a0d27415f7a967d231ce4cfb (diff) | |
download | src-test-a223aa8abd6d1bf9547262c9a52333bcf4d0d13a.tar.gz src-test-a223aa8abd6d1bf9547262c9a52333bcf4d0d13a.zip |
cyapa(4): Make button detection matching ChromeOS driver
Tested-by: Matthias Apitz <guru@unixarea.de>
MFC-after: 2 weeks
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/cyapa/cyapa.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/cyapa/cyapa.c b/sys/dev/cyapa/cyapa.c index 293d68e9abdc3..644d59ae095fb 100644 --- a/sys/dev/cyapa/cyapa.c +++ b/sys/dev/cyapa/cyapa.c @@ -536,13 +536,14 @@ cyapa_attach(device_t dev) cap.phy_siz_x_low; sc->cap_phyy = ((cap.phy_siz_xy_high << 8) & 0x0F00) | cap.phy_siz_y_low; - sc->cap_buttons = cap.buttons; + sc->cap_buttons = cap.buttons >> 3 & + (CYAPA_FNGR_LEFT | CYAPA_FNGR_RIGHT | CYAPA_FNGR_MIDDLE); device_printf(dev, "%5.5s-%6.6s-%2.2s buttons=%c%c%c res=%dx%d\n", cap.prod_ida, cap.prod_idb, cap.prod_idc, - ((cap.buttons & CYAPA_FNGR_LEFT) ? 'L' : '-'), - ((cap.buttons & CYAPA_FNGR_MIDDLE) ? 'M' : '-'), - ((cap.buttons & CYAPA_FNGR_RIGHT) ? 'R' : '-'), + ((sc->cap_buttons & CYAPA_FNGR_LEFT) ? 'L' : '-'), + ((sc->cap_buttons & CYAPA_FNGR_MIDDLE) ? 'M' : '-'), + ((sc->cap_buttons & CYAPA_FNGR_RIGHT) ? 'R' : '-'), sc->cap_resx, sc->cap_resy); sc->hw.buttons = 5; |