Собрал простенькое приложение на SDL-1.2.15 с помощью тулчайна из NDK-r8c (API level 3, march=armv5te). На эмуляторе Android 2.1 приложение работает нормально. На рельном дейвайсе пишет: Unable to open a console terminal.
Путем гугления и изучения кода выяснил, что дело в том, что не проходят ioctl вызовы на /dev/tty в функции FB_OpenKeyboard(). Само устройство есть и нормально открывается, но ioctl(keyboard_fd, VT_GETSTATE, &vtstate) и ioctl(keyboard_fd, KDGKBMODE, &dummy) возвращают ошибку Invalid argument.
Судя по гуглу, у людей в интернете похожие проблемы тоже были, но внятного ответа «что делать», так и не нашлось.
Пытался хачить код, чтобы FB_OpenKeyboard() вообще не вызывался (ведь у реальной железки клавиатуры и мыши нет). Для мышки даже есть штатный способ SDL_NOMOUSE, но как запустить (сконфигурить) SDL без клавы, я так и не понял, потому и хачил.
В первую очередь интересует, как вообще можно понять, почему ioctl возвращает ошибку. В этом случае, судя по всему, не поддерживаются VT_GETSTATE и KDGKBMODE.
Буду рад любой помощи.