   func storeInputSource(keyboard: String) -> Void {
     let currentSource: TISInputSource = TISCopyCurrentKeyboardInputSource().takeUnretainedValue();
     kb2is[keyboard] = currentSource;
+    self.saveMappings();
   }
   
   func onInputSourceChanged() -> Void {

    self.restoreInputSource(keyboard: keyboard);
    self.lastActiveKeyboard = keyboard;
  }
}


extension IOKeyEventMonitor {
  
  func restoreInputSource(keyboard: String) -> Void {
    if let targetIs = kb2is[keyboard] {
      if(userOptions.verbosity >= UserOptions.DEBUG){
