У меня есть самая сырая версия моего приложения для отработки механизма бинда.
В приложении имеются строки для ввода(entry), кнопки "copy" и "clear", кнопка "clear" очищает поле ввода, а кнопка "copy" копирует содержимое строки в буфер обмена с помощью библиотеки "pyperclip". На пример "pyperclip.copy(a)", где "а" строковая переменная.
Мне нужно, что бы я находился в игре, браузере(вне самого окна приложения простым языком говоря) жал допустим кнопку "k" и выполнялась функция, которая считывает вбитое пользователем в entry и копирует в буфер обмена.
def Copy1():
ai = ent1.get()
pyperclip.copy(ai)
Я пока не очень представляю, как это можно реализовать, все советуют модули типа "keyboard", но никто не может сказать конкретно, как мне сделать этот бинд, если я нахожусь в игре, или просто окно приложения свернуто.
Для удобства код целиком:
from tkinter import *
import pyperclip
def Clear1():
v1.set("")
def Copy1():
ai = ent1.get()
pyperclip.copy(ai)
def Clear2():
v2.set("")
def Copy2():
ai = ent2.get()
pyperclip.copy(ai)
def Clear3():
v2.set("")
def Copy3():
ai = ent3.get()
pyperclip.copy(ai)
root = Tk()
root.geometry('455x280')
root.title("pp")
root.resizable(False, False)
root.configure(background="#E6F0D5")
#root.iconbitmap('9.ico')
v1 = StringVar()
ent1 = Entry(font=("Ubuntu", 19), textvariable=v1, justify=CENTER)
but1 = Button(root, text='Copy', font=("Ubuntu", 13), height=1, width=20, bg='#F8F8F8', command=Copy1)
but2 = Button(root, text='Clear', font=("Ubuntu", 13), height=1, width=9, bg='#F8F8F8', command=Clear1)
ent1.place(x=82, y=24)
but1.place(x=82, y=60)
but2.place(x=274, y=60)
v2 = StringVar()
ent2 = Entry(font=("Ubuntu", 19), textvariable=v2, justify=CENTER)
but3 = Button(root, text='Copy', font=("Ubuntu", 13), height=1, width=20, bg='#F8F8F8', command=Copy2)
but4 = Button(root, text='Clear', font=("Ubuntu", 13), height=1, width=9, bg='#F8F8F8', command=Clear2)
ent2.place(x=82, y=104)
but3.place(x=82, y=140)
but4.place(x=274, y=140)
v3 = StringVar()
ent3 = Entry(font=("Ubuntu", 19), textvariable=v3, justify=CENTER)
but5 = Button(root, text='Copy', font=("Ubuntu", 13), height=1, width=20, bg='#F8F8F8', command=Copy3)
but6 = Button(root, text='Clear', font=("Ubuntu", 13), height=1, width=9, bg='#F8F8F8', command=Clear3)
ent3.place(x=82, y=184)
but5.place(x=82, y=220)
but6.place(x=274, y=220)
root.mainloop()