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