当窗口不活动时如何在python中检测键盘上的按键?

时间:2018-09-17 07:58:44

标签: python linux python-2.7

当窗口不活动时如何检测python中键盘上的按键?

我有以下代码:-但在非活动窗口时它不起作用。

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import sys, termios, contextlib;

@contextlib.contextmanager
def raw_mode(file):
    old_attrs = termios.tcgetattr(file.fileno())
    new_attrs = old_attrs[:]
    new_attrs[3] = new_attrs[3] & ~(termios.ECHO | termios.ICANON)
    try:
        termios.tcsetattr(file.fileno(), termios.TCSADRAIN, new_attrs)
        yield
    finally:
        termios.tcsetattr(file.fileno(), termios.TCSADRAIN, old_attrs)

def main():
    print 'exit with ^C or ^D'
    with raw_mode(sys.stdin):
        try:
            while True:
                ch = sys.stdin.read(1)
                if not ch or ch == chr(4):
                    break
                print '%02x' % ord(ch),
        except (KeyboardInterrupt, EOFError):
            pass

if __name__ == '__main__': main()

0 个答案:

没有答案