          """ Returns a keyboard character after kbhit() has been called.
              Should not be called in the same program as getarrow(). """
          if os.name == "nt":
              return msvcrt.getch().decode("utf-8")
          return sys.stdin.read(1)
  
      def getarrow(self):
 
</s> remove     @staticmethod
    def getch():
 </s> add     def getch(self): </s> remove     @staticmethod
    def getarrow():
 </s> add     def getarrow(self): </s> remove     @staticmethod
    def kbhit():
 </s> add     def kbhit(self):
        if self.is_gui:
            return None
          """ Returns a keyboard character after kbhit() has been called.
              Should not be called in the same program as getarrow(). """
        if self.is_gui:
            return None
          if os.name == "nt":
              return msvcrt.getch().decode("utf-8")
          return sys.stdin.read(1)
  
      def getarrow(self):
keep add keep keep keep keep keep
 Config Changes + Bugfixes

Bugfix: Fully disable keypress monitor for GUI
Bugfix: Preview - Handle missing alignments file
Config changes:
    - Separate plugin defaults into their own files
    - Move mask_type to global training config
    - Add ability to pass in custom config files 
lib/keypress.py