К текущему моменту я уже 8 кнопок накидал.
# dmesg | grep input
input: NUC970 TouchScreen(ADC) as /devices/platform/nuc970-adc/input/input0
input: gpio-keys as /devices/platform/gpio-keys/input/input1
# cat /dev/input/event1
‡иХAІ9 ‡иХAІ9‡иХA;T
‡иХA;T
‰иХAІИ ‰иХAІИ‰иХArр
‰иХArр
^C
# cat /proc/interrupts
CPU0
13: 0 - nuc970-lcd
15: 0 - nuc970rtc
16: 14793 - nuc970-timer0
18: 0 - nuc970adc
19: 32 - nuc970-emac0
21: 0 - nuc970-emac0
23: 0 - ehci_hcd:usb1
24: 0 - ohci_hcd:usb2
27: 17 - mmc0
29: 73 - nuc970-udc
34: 0 - nuc970-ge2d
36: 368 - ttyS0
51: 6 - nuc970-spi0
448: 8 GPIO-IRQ key_8
449: 0 GPIO-IRQ key_2
458: 0 GPIO-IRQ key_5
459: 0 GPIO-IRQ key_4
460: 0 GPIO-IRQ key_3
461: 0 GPIO-IRQ key_1
462: 0 GPIO-IRQ key_6
548: 0 GPIO-IRQ key_7
Err: 0
# cat /etc/inittab
# /etc/inittab
#
# Copyright (C) 2001 Erik Andersen <andersen@codepoet.org>
#
# Note: BusyBox init doesn't support runlevels. The runlevels field is
# completely ignored by BusyBox init. If you want runlevels, use
# sysvinit.
#
# Format for each entry: <id>:<runlevels>:<action>:<process>
#
# id == tty to run on, or empty for /dev/console
# runlevels == ignored
# action == one of sysinit, respawn, askfirst, wait, and once
# process == program to run
# Startup the system
::sysinit:/bin/mount -t proc proc /proc
::sysinit:/bin/mount -o remount,rw /
::sysinit:/bin/mkdir -p /dev/pts
::sysinit:/bin/mkdir -p /dev/shm
::sysinit:/bin/mount -a
::sysinit:/bin/hostname -F /etc/hostname
# now run any rc scripts
::sysinit:/etc/init.d/rcS
# Put a getty on the serial port
console::respawn:/sbin/getty -L console 0 linux # GENERIC_SERIAL
ttyGS0::respawn:/sbin/getty -L ttyGS0 115200 linux # usb
# tty1::respawn:/sbin/getty 38400 tty1 linux # fb
# Stuff to do for the 3-finger salute
#::ctrlaltdel:/sbin/reboot
# Stuff to do before rebooting
::shutdown:/etc/init.d/rcK
::shutdown:/sbin/swapoff -a
::shutdown:/bin/umount -a -r
ссылка на dev.c (строка 1380)