Warning: touch() [function.touch]: Unable to create file /home/starterkit/starterkit.ru/html/error.log because Permission denied in /home/starterkit/starterkit.ru/html/errorhandler.php on line 51 Qt keyPressEvent и GPIO Buttons - Embedded Linux - Форум - starterkit.ru
все правильно - считайте, что это ручной режим..
теперь надо управление пином возложить на ядро и работать через подсистему ввода
в файле у вас все прописано правильно.. для проверки я практикую отладочный вывод - в вашем случае примерно
потом в логе смотрю, что произошло между "start" и "finish"
но у вас похоже, что-то в ядре недовключенно..[/quote]
Сделал добавил в board файле, ничего не произошло. докучи отключил TS и event вообще пропал =( не понимаю в чем проблема....
Всем ОГРОМНОЕ СПАСИБО! Все получилось! Теперь продолжу войну с QT. Программка приведенная мной просто меняет расположение выделенных объектов "в лево"
Теперь надо думать уже с верхним уровнем!
Всем очень благодарен!
Можно я вклинюсь в тему автора? Просто вопрос довольно близок.
У меня ситуация чуть посложнее - есть собственная клавиатура (20 клавиш), подключенная к 9G45 через spi. На данный момент я с ней работаю через spidev и sysfs, что, конечно же, идеологически неправильно (к тому же инстументы Qt не могут отслеживать изменения на sysfs, приходится юзать poll()).
Хотелось бы написать несложный драйвер с таким алгоритмом: захватывается один GPIO (прерывание по нажатию клавишы), захватывается один spi-канал, при изменении уровня на GPIO читается значение из spi-канала клавиатуры, и в итоге генерируется событие нажатия клавиши. Т.е. хочу, чтобы моя клавиатура была неотличима от стандартных и можно было бы единообразно работать и в консоли, и в Qt.
Очень помогли бы хотя бы ключевые слова для поиска, идеально - примеры.
Спасибо.
Устройство уже разработано и я работаю с тем, что есть, перемены возможны, но это только следующие hw-релизы.
Я, вроде, уже напал на след input_event))
Так на чем сделана клава - есть линия для прерывания что какая-то клавша изменила состояние ? если нет то никакой разницы - в ядре или в юзерспейс поллить spi - все равно кривое решение, если есть то по такому же принципу драйвер как для тачскрина напишите, разница только в том что там абсолютные координаты вычисляются а вам надо скан-код клавишы вычитать по spi и если ваша клава сразу готовый код отсылает то весь драйвер там 20 строчек кода будет.
Именно так и сделано - одна линия меняет свое состояние (1 -> 0), когда нажата клавиша, потом в spi надо считать скан-код. Но скан-коды собственные (0-19) и нужно делать преобразование в стандартные.
Но пока пример с тачем для меня не очевиден(( Не осознаю, куда надо послать преобразованный скан-код.