![]() |
Qt 6.x
The Qt SDK
|
Classes | |
struct | Contact |
Public Member Functions | |
QEvdevTouchScreenData (QEvdevTouchScreenHandler *q_ptr, const QStringList &args) | |
void | processInputEvent (input_event *data) |
void | assignIds () |
int | findClosestContact (const QHash< int, Contact > &contacts, int x, int y, int *dist) |
void | addTouchPoint (const Contact &contact, QEventPoint::States *combinedStates) |
void | reportPoints () |
void | loadMultiScreenMappings () |
QRect | screenGeometry () const |
Public Attributes | |
QEvdevTouchScreenHandler * | q |
int | m_lastEventType |
QList< QWindowSystemInterface::TouchPoint > | m_touchPoints |
QList< QWindowSystemInterface::TouchPoint > | m_lastTouchPoints |
QHash< int, Contact > | m_contacts |
QHash< int, Contact > | m_lastContacts |
Contact | m_currentData |
int | m_currentSlot |
double | m_timeStamp |
double | m_lastTimeStamp |
int | hw_range_x_min |
int | hw_range_x_max |
int | hw_range_y_min |
int | hw_range_y_max |
int | hw_pressure_min |
int | hw_pressure_max |
QString | hw_name |
QString | deviceNode |
bool | m_forceToActiveWindow |
bool | m_typeB |
QTransform | m_rotate |
bool | m_singleTouch |
QString | m_screenName |
QPointer< QScreen > | m_screen |
bool | m_filtered |
int | m_prediction |
QMutex | m_mutex |
Definition at line 77 of file qevdevtouchhandler.cpp.
QEvdevTouchScreenData::QEvdevTouchScreenData | ( | QEvdevTouchScreenHandler * | q_ptr, |
const QStringList & | args | ||
) |
Definition at line 141 of file qevdevtouchhandler.cpp.
References arg, args, m_filtered, m_forceToActiveWindow, m_prediction, and QStringLiteral.
void QEvdevTouchScreenData::addTouchPoint | ( | const Contact & | contact, |
QEventPoint::States * | combinedStates | ||
) |
Definition at line 486 of file qevdevtouchhandler.cpp.
References QList< T >::append(), QWindowSystemInterface::TouchPoint::area, hw_range_x_max, hw_range_x_min, hw_range_y_max, hw_range_y_min, QWindowSystemInterface::TouchPoint::id, QTransform::isIdentity(), m_rotate, m_touchPoints, QEvdevTouchScreenData::Contact::maj, QTransform::map(), QRectF::moveCenter(), QWindowSystemInterface::TouchPoint::normalPosition, QWindowSystemInterface::TouchPoint::pressure, QEvdevTouchScreenData::Contact::pressure, QWindowSystemInterface::TouchPoint::rawPositions, QWindowSystemInterface::TouchPoint::state, QEvdevTouchScreenData::Contact::state, QEvdevTouchScreenData::Contact::trackingId, QEvdevTouchScreenData::Contact::x, and QEvdevTouchScreenData::Contact::y.
Referenced by processInputEvent().
void QEvdevTouchScreenData::assignIds | ( | ) |
Definition at line 698 of file qevdevtouchhandler.cpp.
References dist(), findClosestContact(), QSet< T >::insert(), QHash< Key, T >::isEmpty(), it, m_contacts, m_lastContacts, pending, and QHash< Key, T >::remove().
Referenced by processInputEvent().
int QEvdevTouchScreenData::findClosestContact | ( | const QHash< int, Contact > & | contacts, |
int | x, | ||
int | y, | ||
int * | dist | ||
) |
Definition at line 679 of file qevdevtouchhandler.cpp.
References QHash< Key, T >::constBegin(), QHash< Key, T >::constEnd(), dist(), it, QEvdevTouchScreenData::Contact::trackingId, QEvdevTouchScreenData::Contact::x, and QEvdevTouchScreenData::Contact::y.
Referenced by assignIds().
void QEvdevTouchScreenData::loadMultiScreenMappings | ( | ) |
void QEvdevTouchScreenData::processInputEvent | ( | input_event * | data | ) |
Definition at line 510 of file qevdevtouchhandler.cpp.
References ABS_MT_POSITION_X, ABS_MT_POSITION_Y, ABS_MT_PRESSURE, ABS_MT_SLOT, ABS_MT_TOUCH_MAJOR, ABS_MT_TRACKING_ID, addTouchPoint(), assignIds(), QList< T >::clear(), hw_pressure_max, hw_pressure_min, hw_range_x_max, hw_range_x_min, hw_range_y_max, hw_range_y_min, QList< T >::isEmpty(), it, m_contacts, m_currentData, m_currentSlot, m_filtered, m_lastContacts, m_lastEventType, m_lastTimeStamp, m_lastTouchPoints, m_mutex, m_singleTouch, m_timeStamp, m_touchPoints, m_typeB, QEvdevTouchScreenData::Contact::maj, QEventPoint::Pressed, QEvdevTouchScreenData::Contact::pressure, Q_UNLIKELY, qBound(), qCDebug, QEventPoint::Released, reportPoints(), QEvdevTouchScreenData::Contact::state, state, QEventPoint::Stationary, SYN_MT_REPORT, QEvdevTouchScreenData::Contact::trackingId, QEventPoint::Unknown, QEventPoint::Updated, QEvdevTouchScreenData::Contact::x, and QEvdevTouchScreenData::Contact::y.
Referenced by QEvdevTouchScreenHandler::readData().
void QEvdevTouchScreenData::reportPoints | ( | ) |
Definition at line 766 of file qevdevtouchhandler.cpp.
References QWindowSystemInterface::TouchPoint::area, emit, QWindowSystemInterface::handleTouchEvent(), QRect::height(), QRectF::height(), hw_pressure_max, hw_pressure_min, hw_range_x_max, hw_range_x_min, hw_range_y_max, hw_range_y_min, i, QRect::isNull(), QRect::left(), m_filtered, m_touchPoints, QRectF::moveCenter(), QWindowSystemInterface::TouchPoint::normalPosition, QWindowSystemInterface::TouchPoint::pressure, Q_UNLIKELY, qCDebug, QEventPoint::Released, screenGeometry(), QList< T >::size(), QWindowSystemInterface::TouchPoint::state, QRect::top(), QRect::width(), QRectF::width(), QPointF::x(), and QPointF::y().
Referenced by processInputEvent().
QRect QEvdevTouchScreenData::screenGeometry | ( | ) | const |
Definition at line 732 of file qevdevtouchhandler.cpp.
References QGuiApplication::focusWindow(), QScreen::geometry, QWidget::geometry, QString::isEmpty(), m_forceToActiveWindow, m_screen, m_screenName, QGuiApplication::primaryScreen, screen, QGuiApplication::screens(), QHighDpi::toNativePixels(), QHighDpi::toNativeWindowGeometry(), and win.
Referenced by reportPoints().
QString QEvdevTouchScreenData::deviceNode |
Definition at line 120 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenHandler::QEvdevTouchScreenHandler().
QString QEvdevTouchScreenData::hw_name |
Definition at line 119 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenHandler::QEvdevTouchScreenHandler().
int QEvdevTouchScreenData::hw_pressure_max |
Definition at line 118 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(), processInputEvent(), and reportPoints().
int QEvdevTouchScreenData::hw_pressure_min |
Definition at line 117 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(), processInputEvent(), and reportPoints().
int QEvdevTouchScreenData::hw_range_x_max |
Definition at line 114 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(), addTouchPoint(), processInputEvent(), and reportPoints().
int QEvdevTouchScreenData::hw_range_x_min |
Definition at line 113 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(), addTouchPoint(), processInputEvent(), and reportPoints().
int QEvdevTouchScreenData::hw_range_y_max |
Definition at line 116 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(), addTouchPoint(), processInputEvent(), and reportPoints().
int QEvdevTouchScreenData::hw_range_y_min |
Definition at line 115 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(), addTouchPoint(), processInputEvent(), and reportPoints().
Definition at line 98 of file qevdevtouchhandler.cpp.
Referenced by assignIds(), and processInputEvent().
Contact QEvdevTouchScreenData::m_currentData |
Definition at line 100 of file qevdevtouchhandler.cpp.
Referenced by processInputEvent().
int QEvdevTouchScreenData::m_currentSlot |
Definition at line 101 of file qevdevtouchhandler.cpp.
Referenced by processInputEvent().
bool QEvdevTouchScreenData::m_filtered |
Definition at line 133 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenData(), QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(), QEvdevTouchScreenHandler::isFiltered(), processInputEvent(), and reportPoints().
bool QEvdevTouchScreenData::m_forceToActiveWindow |
Definition at line 121 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenData(), and screenGeometry().
Definition at line 99 of file qevdevtouchhandler.cpp.
Referenced by assignIds(), and processInputEvent().
int QEvdevTouchScreenData::m_lastEventType |
Definition at line 86 of file qevdevtouchhandler.cpp.
Referenced by processInputEvent().
double QEvdevTouchScreenData::m_lastTimeStamp |
Definition at line 104 of file qevdevtouchhandler.cpp.
Referenced by processInputEvent().
QList<QWindowSystemInterface::TouchPoint> QEvdevTouchScreenData::m_lastTouchPoints |
Definition at line 88 of file qevdevtouchhandler.cpp.
Referenced by processInputEvent().
QMutex QEvdevTouchScreenData::m_mutex |
Definition at line 138 of file qevdevtouchhandler.cpp.
Referenced by processInputEvent().
int QEvdevTouchScreenData::m_prediction |
Definition at line 134 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenData(), and QEvdevTouchScreenHandler::QEvdevTouchScreenHandler().
QTransform QEvdevTouchScreenData::m_rotate |
Definition at line 123 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(), and addTouchPoint().
Definition at line 126 of file qevdevtouchhandler.cpp.
Referenced by screenGeometry().
QString QEvdevTouchScreenData::m_screenName |
Definition at line 125 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(), and screenGeometry().
bool QEvdevTouchScreenData::m_singleTouch |
Definition at line 124 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(), and processInputEvent().
double QEvdevTouchScreenData::m_timeStamp |
Definition at line 103 of file qevdevtouchhandler.cpp.
Referenced by processInputEvent().
QList<QWindowSystemInterface::TouchPoint> QEvdevTouchScreenData::m_touchPoints |
Definition at line 87 of file qevdevtouchhandler.cpp.
Referenced by addTouchPoint(), processInputEvent(), and reportPoints().
bool QEvdevTouchScreenData::m_typeB |
Definition at line 122 of file qevdevtouchhandler.cpp.
Referenced by QEvdevTouchScreenHandler::QEvdevTouchScreenHandler(), and processInputEvent().
QEvdevTouchScreenHandler* QEvdevTouchScreenData::q |
Definition at line 85 of file qevdevtouchhandler.cpp.