Нажмите последовательность кнопок, например shift + a и откройте amazon.com.Нажмите другую последовательность кнопок, например shift + e и откройте ebay.com
.Код работает для amazon.com
, но когда я нажимаю горячую клавишу shift + e , он не открывается на ebay.com.Когда вы печатаете клавишу, которую нажимаете, вы понимаете, что программа нажимает Shift , e и a .Я не знаю, почему программа печатает a , который я не нажимаю?
import time
from pynput import keyboard
COMBINATIONS = [
{keyboard.Key.shift, keyboard.KeyCode(char='a')},
{keyboard.Key.shift, keyboard.KeyCode(char='A')},
{keyboard.Key.shift, keyboard.KeyCode(char='e')},
{keyboard.Key.shift, keyboard.KeyCode(char='E')}
]
current = set()
def execute(url):
keyboard_ctrl = keyboard.Controller()
keyboard_ctrl.press(keyboard.Key.ctrl_l)
keyboard_ctrl.press('l')
keyboard_ctrl.release(keyboard.Key.ctrl_l)
keyboard_ctrl.release('l')
time.sleep(0.2)
for i in url:
keyboard_ctrl.press(i)
keyboard_ctrl.release(i)
# keyboard_ctrl.type(url)
time.sleep(0.2)
keyboard_ctrl.press(keyboard.Key.enter)
keyboard_ctrl.release(keyboard.Key.enter)
def on_press(key):
if any([key in COMBO for COMBO in COMBINATIONS]):
current.add(key)
print(key)
if any(all(k in current for k in COMBO) for COMBO in COMBINATIONS):
if keyboard.KeyCode(char='a') in current and keyboard.Key.shift in current:
execute('https://www.amazon.com/')
if keyboard.KeyCode(char='e') in current and keyboard.Key.shift in current:
execute('https://www.ebay.com/')
def on_release(key):
if any([key in COMBO for COMBO in COMBINATIONS]):
if key in current:
current.remove(key)
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()