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

    notificationCenter = CFNotificationCenterGetDistributedCenter();
    let deviceMatch: CFMutableDictionary = [kIOHIDDeviceUsageKey: usage, kIOHIDDeviceUsagePageKey: usagePage] as NSMutableDictionary
    IOHIDManagerSetDeviceMatching( hidManager, deviceMatch);

  }

  deinit {
    let context = UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque());
    IOHIDManagerRegisterInputValueCallback( hidManager, Optional.none , context);
    CFNotificationCenterRemoveObserver(notificationCenter, context, CFNotificationName(kTISNotifySelectedKeyboardInputSourceChanged), nil);

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