Parallel ports look hard. There's a /dev/parport (major device 99) and a
/dev/lp (major device 6). The "parport" sounds lower level but I can't
find where it's coded in the kernel. Relevant files:
/usr/src/linux/include/linux/major.h -- defines the device number
/usr/src/linux/drivers/misc/parport.c,
/usr/src/linux/drivers/misc/parport_share.c,
/usr/src/linux/include/linux/parport.h -- generic parport code (?)
/usr/src/linux/drivers/misc/parport_pc.c,
/usr/src/linux/include/linux/parport_pc.h -- PC-specific parport code
/usr/src/linux/drivers/char/lp.c -- actual code that reads and writes
Perhaps it's enough just to deal with writing stuff and we can insist on using joystick input for the other direction?