コード例 #1
0
ファイル: keymap.py プロジェクト: nfschina/nfs-screenshot
def parse_keyevent_name(keyevent_name):
    '''
    Parse keyevent name.
    
    @param keyevent_name: Key event name that return by function L{ I{get_keyevent_name} <get_keyevent_name>}.
    @return: Return tuple that contain key value and modifier mask, (keyval, modifier_mask). 
    '''
    keys = keyevent_name.split(" + ")
    if len(keys) == 1:
        keyval = int(gdk.keyval_from_name(keys[0]))
        modifier_mask = 0
    else:
        keyval = int(gdk.keyval_from_name(keys[-1]))
        modifier_mask = 0

        for modifier in keys[0:-1]:
            if modifier == "Ctrl":
                modifier_mask = modifier_mask | gdk.CONTROL_MASK
            elif modifier == "Super":
                modifier_mask = modifier_mask | gdk.SUPER_MASK
            elif modifier == "Hyper":
                modifier_mask = modifier_mask | gdk.HYPER_MASK
            elif modifier == "Alt":
                modifier_mask = modifier_mask | gdk.MOD1_MASK
            elif modifier == "Shift":
                modifier_mask = modifier_mask | gdk.SHIFT_MASK

        if gdk.keyval_is_upper(keyval) and len(get_key_name(keyval)) == 1:
            keyval = gdk.keyval_to_lower(keyval)
            modifier_mask = modifier_mask | gdk.SHIFT_MASK

    return (keyval, modifier_mask)
コード例 #2
0
ファイル: keymap.py プロジェクト: chenzhiwei/deepin-ui
def parse_keyevent_name(keyevent_name):
    '''
    Parse keyevent name.

    @param keyevent_name: Key event name that return by function L{ I{get_keyevent_name} <get_keyevent_name>}.
    @return: Return tuple that contain key value and modifier mask, (keyval, modifier_mask).
    '''
    keys = keyevent_name.split(" + ")
    if len(keys) == 1:
        keyval = int(gdk.keyval_from_name(keys[0]))
        modifier_mask = 0
    else:
        keyval = int(gdk.keyval_from_name(keys[-1]))
        modifier_mask = 0

        for modifier in keys[0:-1]:
            if modifier == "Ctrl":
                modifier_mask = modifier_mask | gdk.CONTROL_MASK
            elif modifier == "Super":
                modifier_mask = modifier_mask | gdk.SUPER_MASK
            elif modifier == "Hyper":
                modifier_mask = modifier_mask | gdk.HYPER_MASK
            elif modifier == "Alt":
                modifier_mask = modifier_mask | gdk.MOD1_MASK
            elif modifier == "Shift":
                modifier_mask = modifier_mask | gdk.SHIFT_MASK

        if gdk.keyval_is_upper(keyval) and len(get_key_name(keyval)) == 1:
            keyval = gdk.keyval_to_lower(keyval)
            modifier_mask = modifier_mask | gdk.SHIFT_MASK

    return (keyval, modifier_mask)
コード例 #3
0
ファイル: keymap.py プロジェクト: nfschina/nfs-screenshot
def get_key_event_modifiers(key_event):
    '''
    Get key modifiers with given key event.
    
    @param key_event: Key event.
    @return: Return key modifier list with given key event.
    '''
    modifiers = []

    # Add Ctrl modifier.
    if key_event.state & gdk.CONTROL_MASK:
        modifiers.append("Ctrl")

    # Add Super modifiers.
    if key_event.state & gdk.SUPER_MASK:
        modifiers.append("Super")

    # Add Hyper modifiers.
    if key_event.state & gdk.HYPER_MASK:
        modifiers.append("Hyper")

    # Add Alt modifier.
    if key_event.state & gdk.MOD1_MASK:
        modifiers.append("Alt")

    # # Don't need add Shift modifier if keyval is upper character.
    if key_event.state & gdk.SHIFT_MASK and (
            len(get_key_name(key_event.keyval)) != 1
            or not gdk.keyval_is_upper(key_event.keyval)):
        modifiers.append("Shift")

    return modifiers
コード例 #4
0
ファイル: keymap.py プロジェクト: netphi/deepin-ui
def parse_keyevent_name(keyevent_name):
    '''Parse keyevent name.'''
    keys = keyevent_name.split(" + ")
    if len(keys) == 1:
        keyval = int(gdk.keyval_from_name(keys[0]))
        modifier_mask = 0
    else:
        keyval = int(gdk.keyval_from_name(keys[-1]))
        modifier_mask = 0
        
        for modifier in keys[0:-1]:
            if modifier == "Ctrl":
                modifier_mask = modifier_mask | gdk.CONTROL_MASK
            elif modifier == "Super":
                modifier_mask = modifier_mask | gdk.SUPER_MASK
            elif modifier == "Hyper":
                modifier_mask = modifier_mask | gdk.HYPER_MASK
            elif modifier == "Alt":
                modifier_mask = modifier_mask | gdk.MOD1_MASK
            elif modifier == "Shift":
                modifier_mask = modifier_mask | gdk.SHIFT_MASK
                
        if gdk.keyval_is_upper(keyval) and len(get_key_name(keyval)) == 1:
            keyval = gdk.keyval_to_lower(keyval)
            modifier_mask = modifier_mask | gdk.SHIFT_MASK
            
    return (keyval, modifier_mask)
コード例 #5
0
ファイル: keymap.py プロジェクト: ChanningBJ/ElsaClipper
def getKeyEventModifiers(keyEvent):
    '''Get key event modifiers.'''
    modifiers = []
    
    # Add Ctrl modifier.
    if keyEvent.state & gdk.CONTROL_MASK:
        modifiers.append("C")
        
    # Add Alt modifier.
    if keyEvent.state & gdk.MOD1_MASK:
        modifiers.append("M")
        
    # Don't need add Shift modifier if keyval is upper character.
    if keyEvent.state & gdk.SHIFT_MASK and not gdk.keyval_is_upper(keyEvent.keyval):
        modifiers.append("S")
        
    return modifiers
コード例 #6
0
def getKeyEventModifiers(keyEvent):
    '''Get key event modifiers.'''
    modifiers = []

    # Add Ctrl modifier.
    if keyEvent.state & gdk.CONTROL_MASK:
        modifiers.append("C")

    # Add Alt modifier.
    if keyEvent.state & gdk.MOD1_MASK:
        modifiers.append("M")

    # Don't need add Shift modifier if keyval is upper character.
    if keyEvent.state & gdk.SHIFT_MASK and not gdk.keyval_is_upper(
            keyEvent.keyval):
        modifiers.append("S")

    return modifiers
コード例 #7
0
ファイル: keymap.py プロジェクト: chenzhiwei/deepin-ui
def get_key_event_modifiers(key_event, to_upper=False):
    '''
    Get key modifiers with given key event.

    @param key_event: Key event.
    @return: Return key modifier list with given key event.
    '''
    modifiers = []

    # Add Ctrl modifier.
    if key_event.state & gdk.CONTROL_MASK:
        modifiers.append("Ctrl")

    # Add Super modifiers.
    if key_event.state & gdk.SUPER_MASK:
        modifiers.append("Super")

    # Add Hyper modifiers.
    if key_event.state & gdk.HYPER_MASK:
        modifiers.append("Hyper")

    # Add Alt modifier.
    if key_event.state & gdk.MOD1_MASK:
        modifiers.append("Alt")

    # Don't need add Shift modifier if keyval is upper character.
    if to_upper:
        if key_event.state & gdk.SHIFT_MASK and (len(get_key_name(key_event.keyval)) != 1 or not gdk.keyval_is_upper(key_event.keyval)):
            modifiers.append("Shift")
    else:
        if key_event.state & gdk.SHIFT_MASK:
            modifiers.append("Shift")

    return modifiers
コード例 #8
0
ファイル: keymap.py プロジェクト: netphi/deepin-ui
def get_key_event_modifiers(key_event):
    '''Get key event modifiers.'''
    modifiers = []
    
    # Add Ctrl modifier.
    if key_event.state & gdk.CONTROL_MASK:
        modifiers.append("Ctrl")    
        
    # Add Super modifiers.
    if key_event.state & gdk.SUPER_MASK:
        modifiers.append("Super")
        
    # Add Hyper modifiers.
    if key_event.state & gdk.HYPER_MASK:
        modifiers.append("Hyper")
        
    # Add Alt modifier.
    if key_event.state & gdk.MOD1_MASK:
        modifiers.append("Alt")    
        
    # Don't need add Shift modifier if keyval is upper character.
    if key_event.state & gdk.SHIFT_MASK and (len(get_key_name(key_event.keyval)) != 1 or not gdk.keyval_is_upper(key_event.keyval)):
        modifiers.append("Shift")    
        
    return modifiers