| 403 | } |
| 404 | |
| 405 | void KeypadWidget::mouseEvent(QMouseEvent *event) { |
| 406 | if (event->source() != Qt::MouseEventNotSynthesized) { |
| 407 | event->accept(); |
| 408 | return; |
| 409 | } |
| 410 | switch (event->type()) { |
| 411 | case QEvent::MouseButtonPress: |
| 412 | case QEvent::MouseMove: |
| 413 | mouseUpdate(event->localPos()); |
| 414 | break; |
| 415 | case QEvent::MouseButtonRelease: |
| 416 | mouseEnd(mHoldingEnabled && event->button() == Qt::RightButton); |
| 417 | break; |
| 418 | default: |
| 419 | abort(); |
| 420 | } |
| 421 | } |
| 422 | |
| 423 | void KeypadWidget::touchUpdate(const QList<QTouchEvent::TouchPoint> &points) { |
| 424 | for (uint8_t row = 0; row != sRows; ++row) { |