Lines Matching refs:synhw

255 #define	SYNAPTICS_VERSION_GE(synhw, major, minor)			\  argument
256 ((synhw).infoMajor > (major) || \
257 ((synhw).infoMajor == (major) && (synhw).infoMinor >= (minor)))
439 synapticshw_t synhw; /* Synaptics hardware information */ member
1161 if ((SYNAPTICS_VERSION_GE(sc->synhw, 7, 5) ||
1712 int y = sc->synhw.minimumYCoord + sc->synhw.maximumYCoord - f->y;
1724 int y = sc->synhw.minimumYCoord + sc->synhw.maximumYCoord - f->y;
1729 if (sc->synhw.capPalmDetect)
1814 { ABS_X, sc->synhw.minimumXCoord,
1815 sc->synhw.maximumXCoord, sc->synhw.infoXupmm },
1816 { ABS_Y, sc->synhw.minimumYCoord,
1817 sc->synhw.maximumYCoord, sc->synhw.infoYupmm },
1824 { ABS_MT_POSITION_X, sc->synhw.minimumXCoord,
1825 sc->synhw.maximumXCoord, sc->synhw.infoXupmm },
1826 { ABS_MT_POSITION_Y, sc->synhw.minimumYCoord,
1827 sc->synhw.maximumYCoord, sc->synhw.infoYupmm },
1840 if (sc->synhw.capAdvancedGestures || sc->synhw.capReportsV)
1842 if (sc->synhw.capReportsV)
1849 if (sc->synhw.capAdvancedGestures)
1851 if (sc->synhw.capClickPad)
1853 if (sc->synhw.capClickPad && sc->synhw.topButtonPad)
1856 evdev_support_nfingers(evdev_a, sc->synhw.capReportsV ? 5 : 3);
1858 if (sc->synhw.capAdvancedGestures || sc->synhw.capReportsV)
1860 if (sc->synhw.capPalmDetect)
1863 if (!sc->synhw.capClickPad) {
1865 if (sc->synhw.capExtended && sc->synhw.capMiddle)
1868 if (sc->synhw.capExtended && sc->synhw.capFourButtons) {
1872 if (sc->synhw.capExtended && (sc->synhw.nExtendedButtons > 0))
1873 for (i = 0; i < sc->synhw.nExtendedButtons; i++)
1877 if (!error && (sc->synhw.capPassthrough || sc->muxport != PSM_NOMUX)) {
2011 if (sc->synhw.infoMajor >= 4 || sc->tpinfo.sysctl_tree != NULL)
2648 if (sc->synhw.infoMajor >= 4)
2649 *(synapticshw_t *)addr = sc->synhw;
3344 if (sc->synhw.capExtended)
3359 if (sc->synhw.capPassthrough || sc->muxport != PSM_NOMUX) {
3394 if (sc->synhw.capAdvancedGestures)
3405 else if (sc->synhw.capReportsV)
3428 if (sc->synhw.capReportsV && ew_finger_count > 3) {
3451 if (sc->synhw.capExtended && sc->synhw.capFourButtons) {
3456 } else if (sc->synhw.capExtended && sc->synhw.capMiddle &&
3457 !sc->synhw.capClickPad) {
3461 } else if (sc->synhw.capExtended && (sc->synhw.nExtendedButtons > 0)) {
3498 maskedbits = (sc->synhw.nExtendedButtons + 1) >> 1;
3503 if (sc->synhw.capPassthrough) {
3530 if (sc->synhw.capReportsV && nfingers > 1)
3562 if (sc->synhw.capClickPad) {
3564 if (sc->synhw.forcePad) {
3607 if (sc->synhw.capExtended && sc->synhw.capFourButtons) {
3711 if (sc->synhw.capExtended && !sc->synhw.capPassthrough &&
3748 ((sc->synhw.capMultiFinger || sc->synhw.capAdvancedGestures) &&
3749 !sc->synhw.capReportsV && nfingers > 1) ||
3750 (sc->synhw.capReportsV && nfingers > 2) ||
3751 (sc->synhw.capPalmDetect && f->w <= sc->syninfo.max_width) ||
3752 (!sc->synhw.capPalmDetect && f->p <= sc->syninfo.max_pressure) ||
3753 (sc->synhw.capPen && f->flags & PSM_FINGER_IS_PEN))) {
3886 if (sc->synhw.capClickPad && ms->button & MOUSE_BUTTON1DOWN) {
5752 if (arg < 0 || arg > sc->synhw.maximumYCoord)
5758 if (!sc->synhw.capClickPad && arg != 0)
5765 if (arg < 0 || arg > sc->synhw.maximumXCoord)
5795 if (arg < -sc->synhw.maximumXCoord ||
5796 arg > sc->synhw.maximumXCoord)
5801 if (!sc->synhw.capClickPad && arg != 0)
5805 if (arg < -sc->synhw.maximumYCoord ||
5806 arg > sc->synhw.maximumYCoord)
5835 sc->syninfo.softbuttons_y = sc->synhw.topButtonPad ? -1700 : 1700;
5909 if (sc->synhw.verticalScroll || (sc->synhw.capMultiFinger == 0 &&
5910 sc->synhw.capAdvancedGestures == 0))
6262 if (sc->synhw.capClickPad)
6291 if (sc->synhw.capExtended)
6308 if ((sc->synhw.capAdvancedGestures || sc->synhw.capReportsV) &&
6404 synapticshw_t synhw; local
6426 bzero(&synhw, sizeof(synhw));
6427 synhw.infoMinor = status[0];
6428 synhw.infoMajor = status[2] & 0x0f;
6431 printf("Synaptics Touchpad v%d.%d\n", synhw.infoMajor,
6432 synhw.infoMinor);
6434 if (synhw.infoMajor < 4) {
6449 synhw.infoRot180 = (status[0] & 0x80) != 0;
6450 synhw.infoPortrait = (status[0] & 0x40) != 0;
6451 synhw.infoSensor = status[0] & 0x3f;
6452 synhw.infoHardware = (status[1] & 0xfe) >> 1;
6453 synhw.infoNewAbs = (status[2] & 0x80) != 0;
6454 synhw.capPen = (status[2] & 0x40) != 0;
6455 synhw.infoSimplC = (status[2] & 0x20) != 0;
6456 synhw.infoGeometry = status[2] & 0x0f;
6460 printf(" infoRot180: %d\n", synhw.infoRot180);
6461 printf(" infoPortrait: %d\n", synhw.infoPortrait);
6462 printf(" infoSensor: %d\n", synhw.infoSensor);
6463 printf(" infoHardware: %d\n", synhw.infoHardware);
6464 printf(" infoNewAbs: %d\n", synhw.infoNewAbs);
6465 printf(" capPen: %d\n", synhw.capPen);
6466 printf(" infoSimplC: %d\n", synhw.infoSimplC);
6467 printf(" infoGeometry: %d\n", synhw.infoGeometry);
6474 synhw.maximumXCoord = 5472;
6475 synhw.maximumYCoord = 4448;
6476 synhw.minimumXCoord = 1472;
6477 synhw.minimumYCoord = 1408;
6484 if (!SYNAPTICS_VERSION_GE(synhw, 7, 5) && status[1] != 0x47) {
6495 synhw.capExtended = (status[0] & 0x80) != 0;
6496 if (synhw.capExtended) {
6497 synhw.nExtendedQueries = (status[0] & 0x70) >> 4;
6498 synhw.capMiddle = (status[0] & 0x04) != 0;
6499 synhw.capPassthrough = (status[2] & 0x80) != 0;
6500 synhw.capLowPower = (status[2] & 0x40) != 0;
6501 synhw.capMultiFingerReport =
6503 synhw.capSleep = (status[2] & 0x10) != 0;
6504 synhw.capFourButtons = (status[2] & 0x08) != 0;
6505 synhw.capBallistics = (status[2] & 0x04) != 0;
6506 synhw.capMultiFinger = (status[2] & 0x02) != 0;
6507 synhw.capPalmDetect = (status[2] & 0x01) != 0;
6517 synhw.infoXupmm = status[0];
6518 synhw.infoYupmm = status[2];
6523 printf(" capExtended: %d\n", synhw.capExtended);
6524 printf(" capMiddle: %d\n", synhw.capMiddle);
6526 synhw.nExtendedQueries);
6527 printf(" capPassthrough: %d\n", synhw.capPassthrough);
6528 printf(" capLowPower: %d\n", synhw.capLowPower);
6530 synhw.capMultiFingerReport);
6531 printf(" capSleep: %d\n", synhw.capSleep);
6532 printf(" capFourButtons: %d\n", synhw.capFourButtons);
6533 printf(" capBallistics: %d\n", synhw.capBallistics);
6534 printf(" capMultiFinger: %d\n", synhw.capMultiFinger);
6535 printf(" capPalmDetect: %d\n", synhw.capPalmDetect);
6536 printf(" infoXupmm: %d\n", synhw.infoXupmm);
6537 printf(" infoYupmm: %d\n", synhw.infoYupmm);
6545 if (synhw.nExtendedQueries >= 1) {
6553 synhw.verticalScroll = (status[0] & 0x01) != 0;
6554 synhw.horizontalScroll = (status[0] & 0x02) != 0;
6555 synhw.verticalWheel = (status[0] & 0x08) != 0;
6556 synhw.nExtendedButtons = (status[1] & 0xf0) >> 4;
6557 synhw.capEWmode = (status[0] & 0x04) != 0;
6561 synhw.verticalScroll);
6563 synhw.horizontalScroll);
6565 synhw.verticalWheel);
6567 synhw.nExtendedButtons);
6569 synhw.capEWmode);
6576 buttons = synhw.nExtendedButtons + synhw.capMiddle;
6582 buttons = synhw.capFourButtons ? 1 : 0;
6585 if (synhw.nExtendedQueries >= 4) {
6594 synhw.capClickPad = (status[1] & 0x01) << 1;
6595 synhw.capClickPad |= (status[0] & 0x10) != 0;
6596 synhw.capDeluxeLEDs = (status[1] & 0x02) != 0;
6597 synhw.noAbsoluteFilter = (status[1] & 0x04) != 0;
6598 synhw.capReportsV = (status[1] & 0x08) != 0;
6599 synhw.capUniformClickPad = (status[1] & 0x10) != 0;
6600 synhw.capReportsMin = (status[1] & 0x20) != 0;
6601 synhw.capInterTouch = (status[1] & 0x40) != 0;
6602 synhw.capReportsMax = (status[0] & 0x02) != 0;
6603 synhw.capClearPad = (status[0] & 0x04) != 0;
6604 synhw.capAdvancedGestures = (status[0] & 0x08) != 0;
6605 synhw.capCoveredPad = (status[0] & 0x80) != 0;
6607 if (synhw.capReportsMax) {
6616 synhw.maximumXCoord = (status[0] << 5) |
6618 synhw.maximumYCoord = (status[2] << 5) |
6622 if (synhw.capReportsMin) {
6631 synhw.minimumXCoord = (status[0] << 5) |
6633 synhw.minimumYCoord = (status[2] << 5) |
6641 if (synhw.capClickPad && psmcpnp_sc != NULL) {
6644 synhw.forcePad = 1;
6647 synhw.topButtonPad = 1;
6657 synhw.capClickPad);
6659 synhw.capDeluxeLEDs);
6661 synhw.noAbsoluteFilter);
6663 synhw.capReportsV);
6665 synhw.capUniformClickPad);
6667 synhw.capReportsMin);
6669 synhw.capInterTouch);
6671 synhw.capReportsMax);
6673 synhw.capClearPad);
6675 synhw.capAdvancedGestures);
6677 synhw.capCoveredPad);
6678 if (synhw.capReportsMax) {
6680 synhw.maximumXCoord);
6682 synhw.maximumYCoord);
6684 if (synhw.capReportsMin) {
6686 synhw.minimumXCoord);
6688 synhw.minimumYCoord);
6690 if (synhw.capClickPad) {
6693 synhw.forcePad);
6695 synhw.topButtonPad);
6698 buttons += synhw.capClickPad;
6703 if (synhw.capExtended)
6726 if (!SYNAPTICS_VERSION_GE(synhw, 7, 5) && status[1] != 0x47) {
6732 sc->synhw = synhw;
6741 if (trackpoint_support && synhw.capPassthrough) {
6780 if (sc->synhw.capPassthrough)
6784 if (sc->synhw.capPassthrough &&
6791 if (sc->synhw.capPassthrough)
6797 if (sc->synhw.capPassthrough)
7017 if (sc->synhw.capPassthrough)
7031 if (sc->synhw.capPassthrough)
7040 if (!sc->synhw.capPassthrough) {
7055 if (sc->synhw.capPassthrough)
7193 sc->synhw.infoMajor = sc->elanhw.hwversion;
7194 sc->synhw.infoMinor = sc->elanhw.fwversion;
7195 sc->synhw.infoXupmm = sc->elanhw.dpmmx;
7196 sc->synhw.infoYupmm = sc->elanhw.dpmmy;
7197 sc->synhw.verticalScroll = 0;
7198 sc->synhw.nExtendedQueries = 4;
7199 sc->synhw.capExtended = 1;
7200 sc->synhw.capPassthrough = sc->elanhw.hastrackpoint;
7201 sc->synhw.capClickPad = sc->elanhw.isclickpad;
7202 sc->synhw.capMultiFinger = 1;
7204 sc->synhw.capAdvancedGestures = 1;
7206 sc->synhw.capReportsV = 1;
7207 sc->synhw.capPalmDetect = 1;
7208 sc->synhw.capPen = 0;
7209 sc->synhw.capReportsMax = 1;
7210 sc->synhw.maximumXCoord = sc->elanhw.sizex;
7211 sc->synhw.maximumYCoord = sc->elanhw.sizey;
7212 sc->synhw.capReportsMin = 1;
7213 sc->synhw.minimumXCoord = 0;
7214 sc->synhw.minimumYCoord = 0;