Python-Learn/codermate.py
2021-02-03 15:07:02 +08:00

59 lines
1.5 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# !/usr/bin/env python
# -*- coding: utf-8 -*-
from pynput import keyboard
from pynput.keyboard import Key, Controller
def on_press(key):
try:
# print('alphanumeric key {0} pressed'.format(key.char))
pass
except AttributeError:
# print('special key {0} pressed'.format(key))
pass
def on_release(key):
global VirguleCnt, InputType
global keytemp
global VirguleCnt
try:
# print('alphanumeric key {0} pressed'.format(key.char))
if key.char == '/':
VirguleCnt += 1
# print(VirguleCnt)
if ((VirguleCnt == 2) & (InputType == 0)):
print("连续监测到// + 英文状态,切换到中文")
InputType = 1
keytemp.press(Key.shift)
keytemp.release(Key.shift)
else:
VirguleCnt = 0
except AttributeError:
# print('special key {0} pressed'.format(key))
VirguleCnt = 0
if key == keyboard.Key.esc: # ESC停止监听
return False
# elif key == keyboard.Key.shift: # 模拟和手动shift都会发生执行此段程序
# VirguleCnt = 10
elif key == keyboard.Key.enter: # 换行
if (InputType == 1): # 中文
print("换行 + 中文状态,切换到英文")
InputType = 0
keytemp.press(Key.shift)
keytemp.release(Key.shift)
else:
pass
# 写程序注释无缝超顺滑切换的python小程序
if __name__ == "__main__":
VirguleCnt = 0
InputType = 0 # 默认初始为英文输入状态
keytemp = Controller()
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()