|
|
|
@ -265,7 +265,7 @@ special_symbols = {
@@ -265,7 +265,7 @@ special_symbols = {
|
|
|
|
|
";": "∩", # Пересечение |
|
|
|
|
"'": "∪", # Объединение |
|
|
|
|
"z": "∧", # Логическое И |
|
|
|
|
"x": "∨", # Логическое ИЛИ |
|
|
|
|
"x": "×", |
|
|
|
|
"c": "¬", # Логическое НЕ |
|
|
|
|
"v": "∴", # Следовательно |
|
|
|
|
"b": "∠", # Угол |
|
|
|
@ -312,6 +312,9 @@ for i, (x, y, w, h) in enumerate(rectangles):
@@ -312,6 +312,9 @@ for i, (x, y, w, h) in enumerate(rectangles):
|
|
|
|
|
|
|
|
|
|
# Обработчик нажатия клавиши |
|
|
|
|
def on_key_press(event): |
|
|
|
|
if event.keysym == "Escape": |
|
|
|
|
root.destroy() # Немедленно закрываем программу при нажатии Escape |
|
|
|
|
return |
|
|
|
|
key = keycode_map.get(event.keycode) |
|
|
|
|
if key in highlighted_rects: |
|
|
|
|
# Подсветка клавиши |
|
|
|
@ -328,14 +331,12 @@ def on_key_release(event):
@@ -328,14 +331,12 @@ def on_key_release(event):
|
|
|
|
|
canvas.itemconfig(highlighted_rects[key], outline="white", width=2) |
|
|
|
|
|
|
|
|
|
if special_symbol: |
|
|
|
|
pyperclip.copy(special_symbol) # Копируем символ в буфер обмена |
|
|
|
|
root.after(100, root.destroy) # Закрываем программу через 100 мс |
|
|
|
|
pyperclip.copy(special_symbol) # Копируем в буфер |
|
|
|
|
root.after(100, root.destroy) # Закрываемся через 100 мс |
|
|
|
|
subprocess.Popen(["bash", "-c", "sleep 0.12 ; xdotool key Ctrl+v"]) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Привязываем обработчики к окну |
|
|
|
|
root.bind("<KeyPress>", on_key_press) |
|
|
|
|
root.bind("<KeyRelease>", on_key_release) |
|
|
|
|
|
|
|
|
|
# Запускаем интерфейс |
|
|
|
|
root.mainloop() |
|
|
|
|