def test_curses_ex():
    with pytest.raises(TypeError):
        curses_ex.define_key('\x1b11', 600)

    with pytest.raises(curses.error):
        # curses is not initialized here.
        curses_ex.define_key(b'\x1b11', 600)
Example #2
0
def demo(scrn):
    # define character 'a' as keycode 600.
    curses_ex.define_key(b'a', 600)
    n = 0
    while True:
        c = scrn.getch()
        scrn.addstr(n, 0, str(c))
        scrn.clrtoeol()
        n = 0 if n > 10 else n+1
Example #3
0
File: keydef.py Project: aodag/kaa
def init():
    # Experimental code to get keycode from cap name
    for i in range(512, 1024):
        name = str(curses.keyname(i), 'utf-8', 'replace')
        if name in CAPNAME_TO_KEY:
            KEYNAME_TO_CODE[CAPNAME_TO_KEY[name]] = i
            CAPNAME_TO_CODE[name] = i

    reg_code = KAA_KEYCODE_FROM
    # register ESC + seq
    for name, keycode in CAPNAME_TO_CODE.items():
        seq = curses.tigetstr(name)
        if seq:
            curses_ex.define_key(b'\x1b'+seq, reg_code)
            REGISTERD_META_SEQUENCE[reg_code] = keycode
            reg_code += 1
Example #4
0
def init(conf):
    # Experimental code to get keycode from cap name
    for i in range(512, 1024):
        name = str(curses.keyname(i), 'utf-8', 'replace')
        if name in CAPNAME_TO_KEY:
            KEYNAME_TO_CODE[CAPNAME_TO_KEY[name]] = i
            CAPNAME_TO_CODE[name] = i

    result = io.StringIO()
    err = False

    reg_code = KAA_KEYCODE_FROM
    # register ESC + seq
    registered_seqs = set()
    for name, keycode in CAPNAME_TO_CODE.items():
        seq = curses.tigetstr(name)
        if seq:
            seq = b'\x1b' + seq
            try:
                curses_ex.define_key(seq, reg_code)
                print('OK: ', name, keycode, reg_code, seq, file=result)
            except Exception:
                print('NG: ', name, keycode, reg_code, seq, file=result)
                err = True
                continue

            REGISTERD_SEQUENCE[reg_code] = ['\x1b', keycode]
            reg_code += 1
            registered_seqs.add(seq)

    for seq, keycode in KNOWN_KEY_SEQUENCE.items():
        if seq not in registered_seqs:
            try:
                curses_ex.define_key(seq, reg_code)
                print('OK: ', keycode, reg_code, seq, file=result)
            except Exception:
                print('NG: ', keycode, reg_code, seq, file=result)
                err = True
                continue

            REGISTERD_SEQUENCE[reg_code] = keycode
            reg_code += 1

    logname = os.path.join(conf.LOGDIR, 'DEFINE_KEY.LOG')
    with open(logname, 'w') as f:
        f.write(result.getvalue())
Example #5
0
def init(conf):
    # Experimental code to get keycode from cap name
    for i in range(512, 1024):
        name = str(curses.keyname(i), 'utf-8', 'replace')
        if name in CAPNAME_TO_KEY:
            KEYNAME_TO_CODE[CAPNAME_TO_KEY[name]] = i
            CAPNAME_TO_CODE[name] = i

    result = io.StringIO()
    err = False

    reg_code = KAA_KEYCODE_FROM
    # register ESC + seq
    registered_seqs = set()
    for name, keycode in CAPNAME_TO_CODE.items():
        seq = curses.tigetstr(name)
        if seq:
            seq = b'\x1b' + seq
            try:
                curses_ex.define_key(seq, reg_code)
                print('OK: ', name, keycode, reg_code, seq, file=result)
            except Exception:
                print('NG: ', name, keycode, reg_code, seq, file=result)
                continue

            REGISTERD_SEQUENCE[reg_code] = ['\x1b', keycode]
            reg_code += 1
            registered_seqs.add(seq)

    for seq, keycode in KNOWN_KEY_SEQUENCE.items():
        if seq not in registered_seqs:
            try:
                curses_ex.define_key(seq, reg_code)
                print('OK: ', keycode, reg_code, seq, file=result)
            except Exception:
                print('NG: ', keycode, reg_code, seq, file=result)
                continue

            REGISTERD_SEQUENCE[reg_code] = keycode
            reg_code += 1

    logname = os.path.join(conf.LOGDIR, 'DEFINE_KEY.LOG')
    with open(logname, 'w') as f:
        f.write(result.getvalue())