def showIntro(self, text=''):
         """Display introductory text in the shell."""
         if text:
-            if not text.endswith(os.linesep):
-                text += os.linesep
             self.write(text)
         try:
-            self.write(self.interp.introText)
+            if self.interp.introText:
+                if text and not text.endswith(os.linesep):
+                    self.write(os.linesep)
+                self.write(self.interp.introText)
         except AttributeError:
             pass
 
         # commands/responses.
         if not self.CanEdit():
             return
-        key = event.KeyCode()
+        key = event.GetKeyCode()
         currpos = self.GetCurrentPos()
         stoppos = self.promptPosEnd
         # Return (Enter) needs to be ignored in this handler.
     def OnKeyDown(self, event):
         """Key down event handler."""
 
-        key = event.KeyCode()
+        key = event.GetKeyCode()
         # If the auto-complete window is up let it do its thing.
         if self.AutoCompActive():
             event.Skip()