Major update, not tested on Kindle yet
This commit is contained in:
parent
54fc35b1c2
commit
91bef0adf1
1 changed files with 123 additions and 0 deletions
123
kindirc.py
123
kindirc.py
|
@ -1,4 +1,127 @@
|
|||
import tkinter as tk
|
||||
root = tk.Tk()
|
||||
root.geometry("1072x1448")
|
||||
splash = """
|
||||
_ ___ _ ___ ____ ____
|
||||
| |/ (_)_ __ __| |_ _| _ \\ / ___|
|
||||
| ' /| | '_ \\ / _` || || |_) | |
|
||||
| . \\| | | | | (_| || || _ <| |___
|
||||
|_|\\_\\_|_| |_|\\__,_|___|_| \\_\\\\____|
|
||||
|
||||
Please use /connect address [port] to connect to a server...
|
||||
"""
|
||||
text = tk.Text(root, width=1072, font=("monospace", 25))
|
||||
root.columnconfigure(index=0, weight=1)
|
||||
root.rowconfigure(index=1, weight=1)
|
||||
def insert(stri):
|
||||
text.configure(state=tk.NORMAL)
|
||||
text.insert(tk.END,stri)
|
||||
text.see("end")
|
||||
text.configure(state=tk.DISABLED)
|
||||
global frame
|
||||
global frame2
|
||||
global caps
|
||||
global shft
|
||||
caps = False
|
||||
shft = False
|
||||
insert(splash)
|
||||
input = tk.Entry(root, width=1072, font=("monospace", 25))
|
||||
text.pack()
|
||||
input.pack()
|
||||
def press(key:str):
|
||||
if key == "⇋":
|
||||
pass
|
||||
elif len(key) == 1:
|
||||
input.insert(tk.END, key)
|
||||
else:
|
||||
if key == "SPACE":
|
||||
input.insert(tk.END, " ")
|
||||
elif key == "BKSP":
|
||||
e = input.get()[:-1]
|
||||
input.delete(0, tk.END)
|
||||
input.insert(tk.END, e)
|
||||
input.xview_scroll(500, tk.UNITS)
|
||||
def rebuild_keyboard():
|
||||
global shft
|
||||
global caps
|
||||
def keyse(k):
|
||||
global shft
|
||||
press(k)
|
||||
if shft:
|
||||
shft = False
|
||||
rebuild_keyboard()
|
||||
global frame
|
||||
global frame2
|
||||
try:
|
||||
frame.destroy()
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
frame2.destroy()
|
||||
except:
|
||||
pass
|
||||
frame2 = tk.Frame(root, width=1072)
|
||||
space = tk.Button(frame2, font=("monospace", 25), width=45, height=2, text=" ", command=lambda k="SPACE": press(k))
|
||||
space.grid(row=1, column=1)
|
||||
frame = tk.Frame(root, width=1072)
|
||||
frame.pack()
|
||||
frame2.pack()
|
||||
keys_lower = [
|
||||
"`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=", "",
|
||||
"⇋", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "[", "]", "\\",
|
||||
"", "a", "s", "d", "f", "g", "h", "j", "k", "l", ";", "'", "", "",
|
||||
"", "z", "x", "c", "v", "b", "n", "m", ",", ".", "/"
|
||||
]
|
||||
keys_capper = [
|
||||
"`", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "-", "=", "",
|
||||
"⇋", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "[", "]", "\\",
|
||||
"", "A", "S", "D", "F", "G", "H", "J", "K", "L", ";", "'", "", "",
|
||||
"","Z", "X", "C", "V", "B", "N", "M", ",", ".", "/"
|
||||
]
|
||||
keys_shift = [
|
||||
"~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "+", "",
|
||||
"⇋", "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "{", "}", "|",
|
||||
"", "A", "S", "D", "F", "G", "H", "J", "K", "L", ":", '"', "", "",
|
||||
"", "Z", "X", "C", "V", "B", "N", "M", "<", ">", "?"
|
||||
]
|
||||
keys_shift_cap = [
|
||||
"~", "!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "_", "+", "",
|
||||
"⇋", "q", "w", "e", "r", "t", "y", "u", "i", "o", "p", "{", "}", "|",
|
||||
"", "a", "s", "d", "f", "g", "h", "j", "k", "l", ":", '"', "", "",
|
||||
"", "z", "x", "c", "v", "b", "n", "m", "<", ">", "?"
|
||||
]
|
||||
if caps:
|
||||
if shft:
|
||||
keys = keys_shift_cap
|
||||
else:
|
||||
keys = keys_capper
|
||||
elif shft:
|
||||
keys = keys_shift
|
||||
else:
|
||||
keys = keys_lower
|
||||
row, col = 0, 1
|
||||
for key in keys:
|
||||
if key != "":
|
||||
button = tk.Button(frame, font=("monospace", 25), width=3, height=2, text=key, command=lambda k=key: keyse(k))
|
||||
button.grid(row=row, column=col, padx=2, pady=2)
|
||||
col += 1
|
||||
if col > 14:
|
||||
col = 1
|
||||
row += 1
|
||||
bksp = tk.Button(frame, font=("monospace", 25), width=3, height=2, text="←", command=lambda k="BKSP": keyse(k))
|
||||
bksp.grid(row=0, column=14)
|
||||
def cap():
|
||||
global caps
|
||||
caps = not caps
|
||||
rebuild_keyboard()
|
||||
capskey = tk.Button(frame, font=("monospace", 25), width=3, height=2, text="CAP" if not caps else "low", command=cap)
|
||||
capskey.grid(row=2, column=1)
|
||||
def shf():
|
||||
global shft
|
||||
shft = not shft
|
||||
rebuild_keyboard()
|
||||
shftkey = tk.Button(frame, font=("monospace", 25), width=3, height=2, text="↑" if not shft else "↓", command=shf)
|
||||
shftkey.grid(row=3, column=1)
|
||||
rebuild_keyboard()
|
||||
input.focus()
|
||||
root.mainloop()
|
||||
|
|
Loading…
Reference in a new issue