GPIO Keys am Raspberry Pi
GPIO Eingänge als einfache Tastatur.
Installation
Es gibt das Kernelmodul gpio_keys_device, welches die einfache Verwednung von GPIO Eingängen als Tastatur erlaubt.
Notwendige Pakete:
pacman -S linux-headers evtest
Kernelmodul bauen:
git clone https://github.com/notro/fbtft_tools
cd fbtft_tools/gpio_keys_device
make clean
make all
make install
depmod
Das Kernelmodul muss nach jedem Update des Linux-Kernel neu gebaut werden.
Kernelmodule laden:
modprobe gpio_keys
modprobe gpio_keys_device active_low keys=23:102,24:103,25:108
Mit obiger Einstellung werden die GPIO 23,24 und 25 für HOME, UP und DOWN verwendet.
Test
Test mit
evtest /dev/input/event0
ergibt:
Event: time 1436614348.359553, type 1 (EV_KEY), code 102 (KEY_HOME), value 1
Event: time 1436614348.359553, -------------- EV_SYN ------------
Event: time 1436614348.519589, type 1 (EV_KEY), code 102 (KEY_HOME), value 0
Event: time 1436614348.519589, -------------- EV_SYN ------------
Event: time 1436614348.929546, type 1 (EV_KEY), code 103 (KEY_UP), value 1
Event: time 1436614348.929546, -------------- EV_SYN ------------
Event: time 1436614349.109546, type 1 (EV_KEY), code 103 (KEY_UP), value 0
Event: time 1436614349.109546, -------------- EV_SYN ------------
Event: time 1436614349.489560, type 1 (EV_KEY), code 103 (KEY_UP), value 1
Event: time 1436614349.489560, -------------- EV_SYN ------------
Event: time 1436614349.619551, type 1 (EV_KEY), code 103 (KEY_UP), value 0
Event: time 1436614349.619551, -------------- EV_SYN ------------
Event: time 1436614350.799556, type 1 (EV_KEY), code 108 (KEY_DOWN), value 1
Event: time 1436614350.799556, -------------- EV_SYN ------------
Event: time 1436614351.069551, type 1 (EV_KEY), code 108 (KEY_DOWN), value 0
Event: time 1436614351.069551, -------------- EV_SYN ------------
Kernelmodule laden beim Booten
In /etc/modules-load.d/raspberrypi.conf werden die Module
gpio_keys
gpio_keys_device
und in /etc/modprobe.d/gpio_keys_device.conf die Optionen des Moduls:
options gpio_keys_device active_low keys=23:102,24:103,25:108