示例#1
0
def record_context(dpy, ev_ranges, dev_ranges):
    ev_ranges = coalesce_ranges(ev_ranges)
    dev_ranges = coalesce_ranges(dev_ranges)

    specs = max(len(ev_ranges), len(dev_ranges))
    range_specs = (xlib.POINTER(xlib.XRecordRange) * specs)()

    for i in range(specs):
        range_specs[i] = xlib.XRecordAllocRange()
        if len(ev_ranges) > i:
            range_specs[i].contents.delivered_events.first = ev_ranges[i][0]
            range_specs[i].contents.delivered_events.last = ev_ranges[i][1]
        if len(dev_ranges) > i:
            range_specs[i].contents.device_events.first = dev_ranges[i][0]
            range_specs[i].contents.device_events.last = dev_ranges[i][1]

    rec_ctx = xlib.XRecordCreateContext(
        dpy, 0,
        xlib.byref(xlib.c_ulong(xlib.XRecordAllClients)), 1,
        range_specs, specs)

    for i in range(specs):
        xlib.XFree(range_specs[i])

    return rec_ctx
示例#2
0
def record_context(dpy, ev_ranges, dev_ranges):
    ev_ranges = coalesce_ranges(ev_ranges)
    dev_ranges = coalesce_ranges(dev_ranges)

    specs = max(len(ev_ranges), len(dev_ranges))
    range_specs = (xlib.POINTER(xlib.XRecordRange) * specs)()

    for i in range(specs):
        range_specs[i] = xlib.XRecordAllocRange()
        if len(ev_ranges) > i:
            range_specs[i].contents.delivered_events.first = ev_ranges[i][0]
            range_specs[i].contents.delivered_events.last = ev_ranges[i][1]
        if len(dev_ranges) > i:
            range_specs[i].contents.device_events.first = dev_ranges[i][0]
            range_specs[i].contents.device_events.last = dev_ranges[i][1]

    rec_ctx = xlib.XRecordCreateContext(
        dpy, 0,
        xlib.byref(xlib.c_ulong(xlib.XRecordAllClients)), 1,
        range_specs, specs)

    for i in range(specs):
        xlib.XFree(range_specs[i])

    return rec_ctx
示例#3
0
def record_context(dpy, ev_range, dev_range):
    range_spec = xlib.XRecordAllocRange()
    range_spec.contents.delivered_events.first = ev_range[0]
    range_spec.contents.delivered_events.last = ev_range[1]
    range_spec.contents.device_events.first = dev_range[0]
    range_spec.contents.device_events.last = dev_range[1]
    rec_ctx = xlib.XRecordCreateContext(
        dpy, 0, xlib.byref(xlib.c_ulong(xlib.XRecordAllClients)), 1,
        xlib.byref(range_spec), 1)
    xlib.XFree(range_spec)
    return rec_ctx
示例#4
0
def record_context(dpy, ev_range, dev_range):
    range_spec = xlib.XRecordAllocRange()
    range_spec.contents.delivered_events.first = ev_range[0]
    range_spec.contents.delivered_events.last = ev_range[1]
    range_spec.contents.device_events.first = dev_range[0]
    range_spec.contents.device_events.last = dev_range[1]
    rec_ctx = xlib.XRecordCreateContext(
        dpy, 0,
        xlib.byref(xlib.c_ulong(xlib.XRecordAllClients)), 1,
        xlib.byref(range_spec), 1)
    xlib.XFree(range_spec)
    return rec_ctx