Hugo pointed me towards cfmakeraw() (here) which simply clears a lot of special flags and sets a few. I haven't worked out which actual flag I need to change yet, but it works now.

It does clear ICANON though which was one I hadn't cleared so perhaps that is it. I might have a go based on your code and see if that makes much difference.

Thanks,
_________________________
Christian
#40104192 120Gb (no longer in my E36 M3, won't fit the E46 M3)