Lines Matching refs:synhw

250 #define	SYNAPTICS_VERSION_GE(synhw, major, minor)			\
251 ((synhw).infoMajor > (major) || \
252 ((synhw).infoMajor == (major) && (synhw).infoMinor >= (minor)))
424 synapticshw_t synhw; /* Synaptics hardware information */
1141 if ((SYNAPTICS_VERSION_GE(sc->synhw, 7, 5) ||
1702 int y = sc->synhw.minimumYCoord + sc->synhw.maximumYCoord - f->y;
1714 int y = sc->synhw.minimumYCoord + sc->synhw.maximumYCoord - f->y;
1719 if (sc->synhw.capPalmDetect)
1812 { ABS_X, sc->synhw.minimumXCoord,
1813 sc->synhw.maximumXCoord, sc->synhw.infoXupmm },
1814 { ABS_Y, sc->synhw.minimumYCoord,
1815 sc->synhw.maximumYCoord, sc->synhw.infoYupmm },
1822 { ABS_MT_POSITION_X, sc->synhw.minimumXCoord,
1823 sc->synhw.maximumXCoord, sc->synhw.infoXupmm },
1824 { ABS_MT_POSITION_Y, sc->synhw.minimumYCoord,
1825 sc->synhw.maximumYCoord, sc->synhw.infoYupmm },
1843 if (sc->synhw.capAdvancedGestures)
1845 if (sc->synhw.capClickPad)
1847 if (sc->synhw.capClickPad && sc->synhw.topButtonPad)
1850 evdev_support_nfingers(evdev_a, sc->synhw.capReportsV ? 5 : 3);
1852 if (sc->synhw.capAdvancedGestures || sc->synhw.capReportsV)
1854 if (sc->synhw.capPalmDetect)
1857 if (!sc->synhw.capClickPad) {
1859 if (sc->synhw.capExtended && sc->synhw.capMiddle)
1862 if (sc->synhw.capExtended && sc->synhw.capFourButtons) {
1866 if (sc->synhw.capExtended && (sc->synhw.nExtendedButtons > 0))
1867 for (i = 0; i < sc->synhw.nExtendedButtons; i++)
1871 if (!error && (sc->synhw.capPassthrough || sc->muxport != PSM_NOMUX)) {
2003 if (sc->synhw.infoMajor >= 4 || sc->tphw > 0)
2641 if (sc->synhw.infoMajor >= 4)
2642 *(synapticshw_t *)addr = sc->synhw;
3346 if (sc->synhw.capExtended)
3361 if (sc->synhw.capPassthrough || sc->muxport != PSM_NOMUX) {
3396 if (sc->synhw.capAdvancedGestures)
3407 else if (sc->synhw.capReportsV)
3430 if (sc->synhw.capReportsV && ew_finger_count > 3) {
3453 if (sc->synhw.capExtended && sc->synhw.capFourButtons) {
3458 } else if (sc->synhw.capExtended && sc->synhw.capMiddle &&
3459 !sc->synhw.capClickPad) {
3463 } else if (sc->synhw.capExtended && (sc->synhw.nExtendedButtons > 0)) {
3500 maskedbits = (sc->synhw.nExtendedButtons + 1) >> 1;
3505 if (sc->synhw.capPassthrough) {
3532 if (sc->synhw.capReportsV && nfingers > 1)
3564 if (sc->synhw.capClickPad) {
3566 if (sc->synhw.forcePad) {
3612 if (sc->synhw.capExtended && sc->synhw.capFourButtons) {
3716 if (sc->synhw.capExtended && !sc->synhw.capPassthrough &&
3753 ((sc->synhw.capMultiFinger || sc->synhw.capAdvancedGestures) &&
3754 !sc->synhw.capReportsV && nfingers > 1) ||
3755 (sc->synhw.capReportsV && nfingers > 2) ||
3756 (sc->synhw.capPalmDetect && f->w <= sc->syninfo.max_width) ||
3757 (!sc->synhw.capPalmDetect && f->p <= sc->syninfo.max_pressure) ||
3758 (sc->synhw.capPen && f->flags & PSM_FINGER_IS_PEN))) {
3890 if (sc->synhw.capClickPad && ms->button & MOUSE_BUTTON1DOWN) {
5721 if (arg < 0 || arg > sc->synhw.maximumYCoord)
5727 if (!sc->synhw.capClickPad && arg != 0)
5734 if (arg < 0 || arg > sc->synhw.maximumXCoord)
5764 if (arg < -sc->synhw.maximumXCoord ||
5765 arg > sc->synhw.maximumXCoord)
5770 if (!sc->synhw.capClickPad && arg != 0)
5774 if (arg < -sc->synhw.maximumYCoord ||
5775 arg > sc->synhw.maximumYCoord)
5803 sc->syninfo.softbuttons_y = sc->synhw.topButtonPad ? -1700 : 1700;
5874 if (sc->synhw.verticalScroll || (sc->synhw.capMultiFinger == 0 &&
5875 sc->synhw.capAdvancedGestures == 0))
6186 if (sc->synhw.capClickPad)
6215 if (sc->synhw.capExtended)
6232 if ((sc->synhw.capAdvancedGestures || sc->synhw.capReportsV) &&
6317 synapticshw_t synhw;
6339 bzero(&synhw, sizeof(synhw));
6340 synhw.infoMinor = status[0];
6341 synhw.infoMajor = status[2] & 0x0f;
6344 printf("Synaptics Touchpad v%d.%d\n", synhw.infoMajor,
6345 synhw.infoMinor);
6347 if (synhw.infoMajor < 4) {
6362 synhw.infoRot180 = (status[0] & 0x80) != 0;
6363 synhw.infoPortrait = (status[0] & 0x40) != 0;
6364 synhw.infoSensor = status[0] & 0x3f;
6365 synhw.infoHardware = (status[1] & 0xfe) >> 1;
6366 synhw.infoNewAbs = (status[2] & 0x80) != 0;
6367 synhw.capPen = (status[2] & 0x40) != 0;
6368 synhw.infoSimplC = (status[2] & 0x20) != 0;
6369 synhw.infoGeometry = status[2] & 0x0f;
6373 printf(" infoRot180: %d\n", synhw.infoRot180);
6374 printf(" infoPortrait: %d\n", synhw.infoPortrait);
6375 printf(" infoSensor: %d\n", synhw.infoSensor);
6376 printf(" infoHardware: %d\n", synhw.infoHardware);
6377 printf(" infoNewAbs: %d\n", synhw.infoNewAbs);
6378 printf(" capPen: %d\n", synhw.capPen);
6379 printf(" infoSimplC: %d\n", synhw.infoSimplC);
6380 printf(" infoGeometry: %d\n", synhw.infoGeometry);
6388 if (!SYNAPTICS_VERSION_GE(synhw, 7, 5) && status[1] != 0x47) {
6399 synhw.capExtended = (status[0] & 0x80) != 0;
6400 if (synhw.capExtended) {
6401 synhw.nExtendedQueries = (status[0] & 0x70) >> 4;
6402 synhw.capMiddle = (status[0] & 0x04) != 0;
6403 synhw.capPassthrough = (status[2] & 0x80) != 0;
6404 synhw.capLowPower = (status[2] & 0x40) != 0;
6405 synhw.capMultiFingerReport =
6407 synhw.capSleep = (status[2] & 0x10) != 0;
6408 synhw.capFourButtons = (status[2] & 0x08) != 0;
6409 synhw.capBallistics = (status[2] & 0x04) != 0;
6410 synhw.capMultiFinger = (status[2] & 0x02) != 0;
6411 synhw.capPalmDetect = (status[2] & 0x01) != 0;
6421 synhw.infoXupmm = status[0];
6422 synhw.infoYupmm = status[2];
6427 printf(" capExtended: %d\n", synhw.capExtended);
6428 printf(" capMiddle: %d\n", synhw.capMiddle);
6430 synhw.nExtendedQueries);
6431 printf(" capPassthrough: %d\n", synhw.capPassthrough);
6432 printf(" capLowPower: %d\n", synhw.capLowPower);
6434 synhw.capMultiFingerReport);
6435 printf(" capSleep: %d\n", synhw.capSleep);
6436 printf(" capFourButtons: %d\n", synhw.capFourButtons);
6437 printf(" capBallistics: %d\n", synhw.capBallistics);
6438 printf(" capMultiFinger: %d\n", synhw.capMultiFinger);
6439 printf(" capPalmDetect: %d\n", synhw.capPalmDetect);
6440 printf(" infoXupmm: %d\n", synhw.infoXupmm);
6441 printf(" infoYupmm: %d\n", synhw.infoYupmm);
6449 if (synhw.nExtendedQueries >= 1) {
6457 synhw.verticalScroll = (status[0] & 0x01) != 0;
6458 synhw.horizontalScroll = (status[0] & 0x02) != 0;
6459 synhw.verticalWheel = (status[0] & 0x08) != 0;
6460 synhw.nExtendedButtons = (status[1] & 0xf0) >> 4;
6461 synhw.capEWmode = (status[0] & 0x04) != 0;
6465 synhw.verticalScroll);
6467 synhw.horizontalScroll);
6469 synhw.verticalWheel);
6471 synhw.nExtendedButtons);
6473 synhw.capEWmode);
6480 buttons = synhw.nExtendedButtons + synhw.capMiddle;
6486 buttons = synhw.capFourButtons ? 1 : 0;
6489 if (synhw.nExtendedQueries >= 4) {
6498 synhw.capClickPad = (status[1] & 0x01) << 1;
6499 synhw.capClickPad |= (status[0] & 0x10) != 0;
6500 synhw.capDeluxeLEDs = (status[1] & 0x02) != 0;
6501 synhw.noAbsoluteFilter = (status[1] & 0x04) != 0;
6502 synhw.capReportsV = (status[1] & 0x08) != 0;
6503 synhw.capUniformClickPad = (status[1] & 0x10) != 0;
6504 synhw.capReportsMin = (status[1] & 0x20) != 0;
6505 synhw.capInterTouch = (status[1] & 0x40) != 0;
6506 synhw.capReportsMax = (status[0] & 0x02) != 0;
6507 synhw.capClearPad = (status[0] & 0x04) != 0;
6508 synhw.capAdvancedGestures = (status[0] & 0x08) != 0;
6509 synhw.capCoveredPad = (status[0] & 0x80) != 0;
6511 if (synhw.capReportsMax) {
6520 synhw.maximumXCoord = (status[0] << 5) |
6522 synhw.maximumYCoord = (status[2] << 5) |
6529 synhw.maximumXCoord = 5472;
6530 synhw.maximumYCoord = 4448;
6533 if (synhw.capReportsMin) {
6542 synhw.minimumXCoord = (status[0] << 5) |
6544 synhw.minimumYCoord = (status[2] << 5) |
6551 synhw.minimumXCoord = 1472;
6552 synhw.minimumYCoord = 1408;
6559 if (synhw.capClickPad && psmcpnp_sc != NULL) {
6562 synhw.forcePad = 1;
6565 synhw.topButtonPad = 1;
6575 synhw.capClickPad);
6577 synhw.capDeluxeLEDs);
6579 synhw.noAbsoluteFilter);
6581 synhw.capReportsV);
6583 synhw.capUniformClickPad);
6585 synhw.capReportsMin);
6587 synhw.capInterTouch);
6589 synhw.capReportsMax);
6591 synhw.capClearPad);
6593 synhw.capAdvancedGestures);
6595 synhw.capCoveredPad);
6596 if (synhw.capReportsMax) {
6598 synhw.maximumXCoord);
6600 synhw.maximumYCoord);
6602 if (synhw.capReportsMin) {
6604 synhw.minimumXCoord);
6606 synhw.minimumYCoord);
6608 if (synhw.capClickPad) {
6611 synhw.forcePad);
6613 synhw.topButtonPad);
6616 buttons += synhw.capClickPad;
6621 if (synhw.capExtended)
6644 if (!SYNAPTICS_VERSION_GE(synhw, 7, 5) && status[1] != 0x47) {
6650 sc->synhw = synhw;
6659 if (trackpoint_support && synhw.capPassthrough) {
6698 if (sc->synhw.capPassthrough)
6702 if (sc->synhw.capPassthrough &&
6709 if (sc->synhw.capPassthrough)
6715 if (sc->synhw.capPassthrough)
6923 if (sc->synhw.capPassthrough)
6937 if (sc->synhw.capPassthrough)
6946 if (!sc->synhw.capPassthrough) {
6957 if (sc->synhw.capPassthrough)
7095 sc->synhw.infoMajor = sc->elanhw.hwversion;
7096 sc->synhw.infoMinor = sc->elanhw.fwversion;
7097 sc->synhw.infoXupmm = sc->elanhw.dpmmx;
7098 sc->synhw.infoYupmm = sc->elanhw.dpmmy;
7099 sc->synhw.verticalScroll = 0;
7100 sc->synhw.nExtendedQueries = 4;
7101 sc->synhw.capExtended = 1;
7102 sc->synhw.capPassthrough = sc->elanhw.hastrackpoint;
7103 sc->synhw.capClickPad = sc->elanhw.isclickpad;
7104 sc->synhw.capMultiFinger = 1;
7106 sc->synhw.capAdvancedGestures = 1;
7108 sc->synhw.capReportsV = 1;
7109 sc->synhw.capPalmDetect = 1;
7110 sc->synhw.capPen = 0;
7111 sc->synhw.capReportsMax = 1;
7112 sc->synhw.maximumXCoord = sc->elanhw.sizex;
7113 sc->synhw.maximumYCoord = sc->elanhw.sizey;
7114 sc->synhw.capReportsMin = 1;
7115 sc->synhw.minimumXCoord = 0;
7116 sc->synhw.minimumYCoord = 0;