(ворча) все приходится делать самому..
позырил в схему 9g45, выбрал "жертву" - PC20 с выходом на разъем X1
открыл файл борды, все лишнее покоцал, поправил только:
в конфиге ядра в разделе Input Device включил поддержку клавы и где-то там же Atmel Gpio Keyboard (видел там еще keyboard matrix), никакие джойстики не включал..
Пересобрал, загрузил, в логе:
на фотке проволочка изображает кнопку Enter, если ей потыкать от массы №1 на контакт №35 разъема Х1, то результат виден на экране слева..
Ja-ja.. мне и самому было интересно это попробовать, да все лениво..
чем такая штука удобна - можно повесить несколько кнопок или пожабившись на пины, прицепить матрицу типа 4х4 и все это использовать, вместо большой клавиатуры, штатными средствами линукса.
Только как я понял, проблема вся заключается в том, что бы правильно их подключить к плате, т.е. аппаратная проблема. А вот на софтовом уровне все просто и прозрачно.
Ы-ы-ы.. у меня "старый" релиз платы с экраном (без кнопок), но проблем не вижу. Берете элект. схемы кита и кита, если нет правильного соответствия, то делаете переходник - PLD40F+PLD40M - кроссконект проводками или печаткой..
оптимистично, но не проколитесь при попытке использовать пины от другой периферии - линукс даст по рукам и пошлет..
Очевидно - обычная задежка и проверка состояния, см. драйвер
drivers/input/keyboard/gpio_keys.c
там либо таймер (если задан интервал в структуре описания кнопки) или просто запускается workqueue для обработки. У атмелов включается deglitch так что они похоже не используют таймер.
Да, просто я занимаюсь непосредственно программированием, если так можно сказать, на уровне железа, я не очень хорошо соображаю, наверно я так смотрю, что это сложнее для меня.