Beispiel #1
0
 def mask_to_names(self, mask):
     names = KeyboardBase.mask_to_names(self, mask)
     if self.swap_keys and self.meta_modifier is not None and self.control_modifier is not None:
         meta_on = bool(mask & META_MASK)
         meta_set = self.meta_modifier in names
         control_set = self.control_modifier in names
         log("mask_to_names names=%s, meta_on=%s, meta_set=%s, control_set=%s", names, meta_on, meta_set, control_set)
         if meta_on and not control_set:
             log("mask_to_names swapping meta for control: %s for %s", self.meta_modifier, self.control_modifier)
             names.append(self.control_modifier)
             if meta_set:
                 names.remove(self.meta_modifier)
         elif control_set and not meta_on:
             log("mask_to_names swapping control for meta: %s for %s", self.control_modifier, self.meta_modifier)
             names.remove(self.control_modifier)
             if not meta_set:
                 names.append(self.meta_modifier)
     #deal with numlock:
     if self.num_lock_modifier is not None:
         if self.num_lock_state and self.num_lock_modifier not in names:
             names.append(self.num_lock_modifier)
         elif not self.num_lock_state and self.num_lock_modifier in names:
             names.remove(self.num_lock_modifier)
     log("mask_to_names(%s)=%s", mask, names)
     return names
Beispiel #2
0
 def mask_to_names(self, mask):
     names = KeyboardBase.mask_to_names(self, mask)
     if self.swap_keys and self.meta_modifier is not None and self.control_modifier is not None:
         meta_on = bool(mask & META_MASK)
         meta_set = self.meta_modifier in names
         control_set = self.control_modifier in names
         log(
             "mask_to_names names=%s, meta_on=%s, meta_set=%s, control_set=%s",
             names, meta_on, meta_set, control_set)
         if meta_on and not control_set:
             log("mask_to_names swapping meta for control: %s for %s",
                 self.meta_modifier, self.control_modifier)
             names.append(self.control_modifier)
             if meta_set:
                 names.remove(self.meta_modifier)
         elif control_set and not meta_on:
             log("mask_to_names swapping control for meta: %s for %s",
                 self.control_modifier, self.meta_modifier)
             names.remove(self.control_modifier)
             if not meta_set:
                 names.append(self.meta_modifier)
     #deal with numlock:
     if self.num_lock_modifier is not None:
         if self.num_lock_state and self.num_lock_modifier not in names:
             names.append(self.num_lock_modifier)
         elif not self.num_lock_state and self.num_lock_modifier in names:
             names.remove(self.num_lock_modifier)
     log("mask_to_names(%s)=%s", mask, names)
     return names
Beispiel #3
0
 def mask_to_names(self, mask):
     names = KeyboardBase.mask_to_names(self, mask)
     if self.num_lock_modifier is not None:
         if self.num_lock_state and self.num_lock_modifier not in names:
             names.append(self.num_lock_modifier)
         elif not self.num_lock_state and self.num_lock_modifier in names:
             names.remove(self.num_lock_modifier)
     log("mask_to_names(%s)=%s", mask, names)
     return names
Beispiel #4
0
 def mask_to_names(self, mask):
     names = KeyboardBase.mask_to_names(self, mask)
     if self.num_lock_modifier is not None:
         if self.num_lock_state and self.num_lock_modifier not in names:
             names.append(self.num_lock_modifier)
         elif not self.num_lock_state and self.num_lock_modifier in names:
             names.remove(self.num_lock_modifier)
     log("mask_to_names(%s)=%s", mask, names)
     return names
Beispiel #5
0
 def mask_to_names(self, mask):
     """ Patch NUMLOCK and AltGr """
     names = KeyboardBase.mask_to_names(self, mask)
     altgr = win32api.GetKeyState(win32con.VK_RMENU) not in (0, 1)
     if altgr:
         self.AltGr_modifiers(names)
     if self.num_lock_modifier:
         try:
             numlock = win32api.GetKeyState(win32con.VK_NUMLOCK)
             if numlock and self.num_lock_modifier not in names:
                 names.append(self.num_lock_modifier)
             elif not numlock and self.num_lock_modifier in names:
                 names.remove(self.num_lock_modifier)
             log("mask_to_names(%s) GetKeyState(VK_NUMLOCK)=%s, names=%s", mask, numlock, names)
         except:
             pass
     else:
         log("mask_to_names(%s)=%s", mask, names)
     return names
Beispiel #6
0
 def mask_to_names(self, mask):
     """ Patch NUMLOCK and AltGr """
     names = KeyboardBase.mask_to_names(self, mask)
     if self.emulate_altgr:
         self.AltGr_modifiers(names)
     if self.num_lock_modifier:
         try:
             import win32api         #@UnresolvedImport
             import win32con         #@UnresolvedImport
             numlock = win32api.GetKeyState(win32con.VK_NUMLOCK)
             log("mask_to_names(%s) GetKeyState(VK_NUMLOCK)=%s", mask, numlock)
             if numlock and self.num_lock_modifier not in names:
                 names.append(self.num_lock_modifier)
             elif not numlock and self.num_lock_modifier in names:
                 names.remove(self.num_lock_modifier)
         except:
             pass
     log("mask_to_names(%s)=%s", mask, names)
     return names
Beispiel #7
0
 def mask_to_names(self, mask):
     """ Patch NUMLOCK and AltGr """
     names = KeyboardBase.mask_to_names(self, mask)
     if self.emulate_altgr:
         self.AltGr_modifiers(names)
     if self.num_lock_modifier:
         try:
             import win32api         #@UnresolvedImport
             import win32con         #@UnresolvedImport
             numlock = win32api.GetKeyState(win32con.VK_NUMLOCK)
             if numlock and self.num_lock_modifier not in names:
                 names.append(self.num_lock_modifier)
             elif not numlock and self.num_lock_modifier in names:
                 names.remove(self.num_lock_modifier)
             log("mask_to_names(%s) GetKeyState(VK_NUMLOCK)=%s, names=%s", mask, numlock, names)
         except:
             pass
     else:
         log("mask_to_names(%s)=%s", mask, names)
     return names
Beispiel #8
0
 def mask_to_names(self, mask):
     """ Patch NUMLOCK and AltGr """
     names = KeyboardBase.mask_to_names(self, mask)
     if EMULATE_ALTGR:
         rmenu = GetKeyState(win32con.VK_RMENU)
         #log("GetKeyState(VK_RMENU)=%s", rmenu)
         if rmenu not in (0, 1):
             self.AltGr_modifiers(names)
     if self.num_lock_modifier:
         try:
             numlock = GetKeyState(win32con.VK_NUMLOCK)
             if numlock and self.num_lock_modifier not in names:
                 names.append(self.num_lock_modifier)
             elif not numlock and self.num_lock_modifier in names:
                 names.remove(self.num_lock_modifier)
             log("mask_to_names(%s) GetKeyState(VK_NUMLOCK)=%s, names=%s", mask, numlock, names)
         except:
             pass
     else:
         log("mask_to_names(%s)=%s", mask, names)
     return names
Beispiel #9
0
 def mask_to_names(self, mask):
     names = KeyboardBase.mask_to_names(self, mask)
     log("mask_to_names names=%s, meta mod=%s, control mod=%s, num lock mod=%s, num lock state=%s",
         names, self.meta_modifier, self.control_modifier, self.num_lock_modifier, self.num_lock_state)
     if self.swap_keys and self.meta_modifier is not None and self.control_modifier is not None:
         #clear both:
         for x in (self.control_modifier, self.meta_modifier):
             if x in names:
                 names.remove(x)
         #re-add as needed:
         if mask & META_MASK:
             names.append(self.control_modifier)
         if mask & CONTROL_MASK:
             names.append(self.meta_modifier)
     #deal with numlock:
     if self.num_lock_modifier is not None:
         if self.num_lock_state and self.num_lock_modifier not in names:
             names.append(self.num_lock_modifier)
         elif not self.num_lock_state and self.num_lock_modifier in names:
             names.remove(self.num_lock_modifier)
     log("mask_to_names(%s)=%s", mask, names)
     return names