Esempio n. 1
0
def regrab(changes):
    global __grabbed, __events

    cmodkeys = []
    for wid, modifiers, keycode, button in __grabbed:
        if keycode in changes:
            cmodkeys.append((wid, modifiers, keycode, button))

            keysym.ungrab_key(state.conn, wid, modifiers, keycode)
            keysym.grab_key(state.conn, wid, modifiers, changes[keycode])

            old = (modifiers, keycode, button)
            new = (modifiers, changes[keycode], button)
            for xevent in __events:
                for wid in __events[xevent]:
                    if old in __events[xevent][wid]:
                        __events[xevent][wid][new] = __events[xevent][wid][old]
                        del __events[xevent][wid][old]

    for wid, modifiers, keycode, button in cmodkeys:
        old = (wid, modifiers, keycode, button)
        new = (wid, modifiers, changes[keycode], button)

        __grabbed[new] = __grabbed[old]
        del __grabbed[old]
Esempio n. 2
0
def regrab(changes):
    global __grabbed, __events

    cmodkeys = []
    for wid, modifiers, keycode, button in __grabbed:
        if keycode in changes:
            cmodkeys.append((wid, modifiers, keycode, button))

            keysym.ungrab_key(state.conn, wid, modifiers, keycode)
            keysym.grab_key(state.conn, wid, modifiers, changes[keycode])

            old = (modifiers, keycode, button)
            new = (modifiers, changes[keycode], button)
            for xevent in __events:
                for wid in __events[xevent]:
                    if old in __events[xevent][wid]:
                        __events[xevent][wid][new] = __events[xevent][wid][old]
                        del __events[xevent][wid][old]

    for wid, modifiers, keycode, button in cmodkeys:
        old = (wid, modifiers, keycode, button)
        new = (wid, modifiers, changes[keycode], button)

        __grabbed[new] = __grabbed[old]
        del __grabbed[old]
Esempio n. 3
0
def __register_key(xevent, callback, wid, key_string):
    global __grabbed

    modifiers, keycode = __parse_keystring(key_string)
    modkey = (wid, modifiers, keycode, None)

    # If there's no valid key code, then there's no reason to register
    # an event callback...
    if not keycode:
        return False

    if (not __grabbed[modkey]
            and not keysym.grab_key(state.conn, wid, modifiers, keycode)):
        return False

    __grabbed[modkey] += 1

    return register_callback(xevent, callback, wid, modifiers, keycode, None)
Esempio n. 4
0
def __register_key(xevent, callback, wid, key_string):
    global __grabbed

    modifiers, keycode = __parse_keystring(key_string)
    modkey = (wid, modifiers, keycode, None)

    # If there's no valid key code, then there's no reason to register
    # an event callback...
    if not keycode:
        return False

    if (not __grabbed[modkey] and
        not keysym.grab_key(state.conn, wid, modifiers, keycode)):
        return False

    __grabbed[modkey] += 1

    return register_callback(xevent, callback, wid, modifiers, keycode, None)