zoukankan      html  css  js  c++  java
  • 简单小练习_自定义快捷键

    from pynput.keyboard import Listener,Controller,Key
    import time
    import threading
    
    
    class ComboListener:
        def __init__(self):
            self.cur_keys = []
            self.keymap = {
                'bbb':'wait a minute',
                'aaa':'good time'
            }
            self.run()
    
        def _on_press(self,key):
            try:
                self.cur_keys.append(key.char)
            except AttributeError:
                self.cur_keys.append(key.name)
    
        def _cleaner(self):
            while True:
                time.sleep(0.7)
                self.cur_keys.clear()
    
        def _run(self):
            l = Listener(on_press = self._on_press)
            l.daemon = True
            l.start()
    
            t = threading.Thread(target=self._cleaner)
            t.daemon = True
            t.start()
    
        def get_combo(self):
            if len(self.cur_keys) >= 3:
                combo = self.cur_keys[-3:]
                return combo
    
        def get_parsed_combo(self):
            combo = self.get_combo()
            if combo:
                key = ''.join(combo)
                if key in self.keymap.keys():
                    return self.keymap[key]
    
    def send(content):
        for _ in range(3):
            k.press(Key.backspace)
        k.type(content)
    
    cl = ComboListener()
    k = Controller()
    
    while True:
        combo_content = cl.get_parsed_combo()
        if combo_content:
            send(combo_content)
  • 相关阅读:
    以太坊客户端Geth命令用法
    ubuntu 下载地址
    以太坊(二)安装Solidity编译器
    git 查看&修改用户名
    以太坊(一)
    centos7 时间设置
    centos7 桥接配置
    nginx http转 https
    centOS7 安装mysql5.7
    webpack--关于babel的配置
  • 原文地址:https://www.cnblogs.com/Erick-L/p/9228648.html
Copyright © 2011-2022 走看看