Мне нелегко создавать работающий интерфейс указателя мыши на Kindle с Qt (конечно, неофициальный). Пятипозиционный джойстик не может отслеживать более одного направления одновременно (без диагональных перемещений), а экран слишком медленно обновляется для хорошей обратной связи.
У меня ограниченное ускорение, но с задержкой экрана очень неприятно пользоваться. Когда вы отпустите пятистороннюю кнопку, мышь продолжит движение в течение 1-2 секунд... и это не всегда постоянная задержка.
Учитывая эти ограничения, мне действительно нужна помощь со стороны приложения. Мне нужен метод, который плагин драйвера мыши мог бы использовать, чтобы определить, каким должен быть профиль ускорения... чтобы он мог сказать "медленнее", когда он пересекает кнопку. Приложение может помочь определить области, в которых имеет смысл различное ускорение (начните со смещения одного пикселя в области рисования, но начните с 10 или около того для мертвого пространства диалога). Проще говоря, приложение должно иметь возможность сообщать указателю мыши о переходе из режима курсора в режим клавиатуры и т. д.
Однако я могу перечислить драйверы мыши, но, похоже, я не получаю имена драйверов. Это не QObject, поэтому нет qobject_cast. Как я могу идентифицировать их как свои и безопасно использовать? Я могу заставить гипс, но это кажется довольно хромым.
Должен ли я просто предположить, что плагины мои, и использовать их?
Я бы хотел, чтобы какой-нибудь простой сигнал/слот подключил это.
ОБНОВЛЕНИЕ
Возможно, плагины могут как-то уведомить приложение. Может быть, использовать QApplication::topLevelWidgets(), попробовать qobject_cast в поисках QMainWindow... а затем отправить ему собственный сигнал с помощью внутреннего класса обработчика сигналов на основе QObject плагина? Затем приложение могло развернуться и настроить соединения, с которыми оно действительно хотело иметь дело. сегодня вечером или завтра попробую.