Ich habe jetzt einige Zeit versucht Tastenkombinationen, die ich auf meinen PiZeroW eingebe an meinen PC weiterzugeben. Raspbian habe ich soweit konfiguriert, dass der Pi als USB Tastatur von Windows erkannt wird.
Mit Python möchte ich nun gerne ein GUI (tkinter) schreiben, das dann Buttons hat, die Tastenkombinationen wie zum Beispiel ALT+F1 an den PC weitergeben.
Ziel ist es diese Buttons dann per Touchscreen zu drücken und dann am PC einen Shortcut zu benutzen.
Zum Beispiel ALT+F4 um ein Programm zu schließen. Das ist nur zum veranschaulichen. Theoretisch möchte ich damit in verschiedenen Programmen verschiedene Optionen durchführen.
Ich kann mir zum Beispiel vorstellen, dass man in Teamspeak Tastenkombinationen zum muten und unmuten einrichtet, diese dann im Pythonprogramm anpasst und die Buttons entsprechend mit Bildern oder Text versieht um die Funktion zu sehen.
Wie ich das GUI und Buttons erstelle weiss ich mittlerweile. Leider habe ich keine Ahnung, wie ich dem Button sagen kann, welche Funktion er hat. Ich habe in den Weiten des Internetz schon ein virtual Keyboard code gefunden der aber leider zu simpel gestrickt ist. Die buttons werden ja nur über die Kommagetrennten Buchstaben generiert.
Das wäre der hier:
Code: Alles auswählen
from tkinter import *
import tkinter
Keyboard_App = tkinter.Tk()
Keyboard_App.title("On Screen Keyboard")
Keyboard_App.resizable(False, False)
def select(value):
if value == "<-":
entry2 = entry.get()
pos = entry2.find("")
pos2 = entry2[pos:]
entry.delete(pos2, tkinter.END)
elif value == " Space ":
entry.insert(tkinter.END, ' ')
elif value == " Tab ":
entry.insert(tkinter.END, ' ')
else:
entry.insert(tkinter.END, value)
buttons = [
'q', 'w', 'e', 'r', 't', 'z', 'u', 'i', 'o', 'p',
'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l',
'y', 'x', 'c', 'v', 'b', 'n', 'm', ',', '.',
' Space ',
]
label1 = Label(Keyboard_App, text=' ').grid(row=0, columnspan=1)
entry = Entry(Keyboard_App, width=128)
entry.grid(row=1, columnspan=15)
varRow = 2
varColumn = 0
for button in buttons:
command = lambda x=button: select(x)
if button != " Space ":
tkinter.Button(Keyboard_App, text=button, width=5, bg="#000000", fg="#ffffff",
activebackground="#ffffff", activeforeground="#000000", relief='raised', padx=4,
pady=4, bd=4, command=command).grid(row=varRow, column=varColumn)
if button == " Space ":
tkinter.Button(Keyboard_App, text=button, width=60, bg="#000000", fg="#ffffff",
activebackground="#ffffff", activeforeground="#000000", relief='raised',
padx=4, pady=4, bd=4, command=command).grid(row=6, column=16)
varColumn += 1
if varColumn > 14 and varRow == 2:
varColumn = 0
varRow += 1
if varColumn > 14 and varRow == 2:
varColumn = 0
varRow += 1
Keyboard_App.mainloop()
Danke schon mal im Voraus!
Grüße DrCox0815