2015-09-11 28 views
5

Sto provando a creare un'applicazione Qt Widgets che supporti il ​​multitouch. Sto usando un tablet con Ubuntu 14.04, QtCreator 3.5.0 e Qt 5.5.0 installati. Sto compilando direttamente sul tablet.Qt 5.5 - Touch/multitouch non funziona con Ubuntu 14.04

Ho provato a compilare alcuni degli esempi Qt Quick e Qt Widget come this, this e this one. Tutti sono stati compilati bene e tutti hanno supportato eventi mouse e single-touch ma nessuno supporta il multi-touch.

ho cercato di modificare il codice sorgente dell'ultima degli esempi come questo:

bool ImageWidget::event(QEvent *event) 
{ 
    std::cout << GetEvent(event).toStdString() << std::endl; 
    if (event->type() == QEvent::Gesture) 
     return gestureEvent(static_cast<QGestureEvent*>(event)); 
    return QWidget::event(event); 
} 

QString ImageWidget::GetEvent(const QEvent * ev) { 
    static int eventEnumIndex = QEvent::staticMetaObject 
     .indexOfEnumerator("Type"); 
    QString result; 
    result.append("QEvent"); 
    if (ev) { 
     QString name = QEvent::staticMetaObject 
      .enumerator(eventEnumIndex).valueToKey(ev->type()); 
     if (!name.isEmpty()) result.append(name); else result.append(ev->type()); 
    } else { 
     result.append("foo"); 
    } 
    return result; 
} 

E tutto l'uscita ottengo quando provo a toccare trascinare un elemento sono una sorta di eventi del mouse:

QEventMouseButtonPress 
QEventMouseMove 
QEventMouseMove 
QEventMouseMove 
QEventMouseMove 
QEventMouseMove 
QEventMouseMove 
QEventMouseButtonRelease 
QEventLeave 

Altre applicazioni (come Google Chrome o Ubuntu) gestiscono bene multitouch, quindi immagino che abbia qualcosa a che fare con Qt.

stati XInput questo sulle versioni attualmente installate:

xinput version 1.6.1 
XI version on server: 2.3 

Sono relativamente nuovo per Qt e Ubuntu in generale, quindi il problema potrebbe in realtà essere piuttosto semplice, ma googling mi ha dato alcun risultato. Grazie per il vostro aiuto in anticipo.

UPDATE

Inoltre, le sarei grato se qualcuno ha condiviso l'esperienza di utilizzo contatto con Qt su Ubuntu o altre distribuzioni basate su Linux in modo da poter capire se si tratta di un bug nel sistema operativo o ha qualcosa a che fare con l'hardware.

+0

Cosa gesto stai usando? AFAIK, ridimensionamento pizzico non è supportato in Ubuntu, ma potrei sbagliarmi – marmistrz

+0

@marmistrz Ho provato a pizzicare e ruotare. So anche che pizzico funziona effettivamente su google chrome, ad esempio. – bashis

+0

Ho avuto esperienza con schermi multitouch e applicazione basata su qt quick su Fedora 19. Non ho avuto problemi e configurazioni, tutto funziona dalla scatola. Ma non sono stato gestito eventi speciali multitouch. – Milovidov

risposta

Problemi correlati