Mostly, yeah. It can easily turn up any key combination from an ANSI terminal (maybe everything except Function keys), but a custom PC host program could work with all the keys.
I have it use interrupts, which is the best way if the NES wants to read from the MCU for any other reason. But an IRQ routine that loads up a buffer, that would be close to code-compatible.
The the thing that really slowed me down from doing stuff like this with Squeedo is that I've never been in the business of PC programming. And here the PIC has this huge lonely FIFO buffer, ready for communicating with a PC's keyboard, mouse, gigabytes of disk space.. I spent way too much time trying to get my NES on the internet. I only found one appropriate program that might have worked for that (RS232 to network), and it was a commercial program.
So if anyone was wondering, that's pretty much the story behind the big hold-up with Squeedo's development. I nearly mastered the NES and the PIC, but got overwhelmed by trying to do the same thing with the PC. Probably I would've done better if I could've stuck with DOS/Win98. At least I learned C though.
The 6502 and PIC asm parts work though! Not optimized for timing, but working.
Definitely though if this would be useful for anyone wanting to develop for the world's cheapest computer, that'd be cool. That's really all that system needs is software. They'd need 2 separate input routines, but that's no problem at all using .if / .else.