Browse Source

Press Esc to exit

master
FedorSarafanov 3 months ago
parent
commit
26ae282b4e
  1. BIN
      background_image.png
  2. 11
      speckb.py

BIN
background_image.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB

11
speckb.py

@ -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()

Loading…
Cancel
Save