Maybe this is stupid, but if you need user-space screen access, couldn't you just use Yasr? Can't its keymap be modified enough to mimic speakup? I guess yasr is really pretty primitive compared to speakup; it can't track highlighting for example. But maybe it would be easier, programatically to just improve yasr rather than rewrite speakup. --Debee