Hi, I'm not able to follow along as I don't have a Pi, but since I see attempts to dissect the behaviour of the SDL code via strace, I thought it worth pointing out that this source code is available and need not be treated as a complete black box. You can download it from the SDL site. My links below are to an unofficial copy that somebody has uploaded to github, but seems to be match the download version.
FB_OpenKeyboard in SDL_fbevents[1] is called unconditionally during Framebuffer video initialization.[2] You can see there that *most* of the logic to find a keyboard device is guarded by a check that geteuid() == 0. (I.e. that the user is root.) The only fallback for when not root is to try to open /dev/tty. If it fails to find a keyboard device it can use it aborts. I hope that helps back up what has been gleaned from the strace and maybe gives some clues. [1] - https://github.com/infertux/SDL-1.2.7/blob/master/src/video/fbcon/SDL_fbevents.c#L246 [2] - https://github.com/infertux/SDL-1.2.7/blob/master/src/video/fbcon/SDL_fbvideo.c#L531 On 13 July 2017 at 21:22, Martin Kühne <mysat...@gmail.com> wrote: > Sorry everyone for the confusion, as was mentioned, two of my previous > emails was sent off-list for whatever reason. > I read up on the topic arriving at the SE thread that was linked > before [0] and tried to figure out the problem based on the work with > strace, which I commended as very through and well-conceived. I also > asked Roman to tell me whether group membership in `tty` would help, > which own the files in /dev on my system. Also Roman, please note that > many ioctls return data in pointers that can be passed to them which > should be the spot where your results actually differ. > > cheers! > mar77i > > [0] > https://unix.stackexchange.com/questions/117981/what-are-the-responsibilities-of-each-pseudo-terminal-pty-component-software.