Wenn ich es richtig sehe, wird dort doch bereits für jede virtuelle Konsole ein eigener Tastaturpuffer angelegt, nämlich _vc.keystrokes.data. Du müßtest dann nur dafür sorgen, daß beim IRQ das passende Zeichen in den Puffer der aktuellen Konsole geschrieben und beim getchar() wieder aus dem Puffer der aktuellen Konsole gelesen wird.