[bugfix] 半角入力時にkeysymが実行されて正しく文字が表示されない問題を修正
https://minekoa.hatenadiary.org/entry/20090315/1237125640 https://stackoverflow.com/questions/18568988/tkinter-prevent-deletion-of-selected-text-with-return-key https://anzeljg.github.io/rin2/book2/2405/docs/tkinter/key-names.html
This commit is contained in:
11
VRCT.py
11
VRCT.py
@@ -339,7 +339,7 @@ class App(CTk):
|
|||||||
self.entry_message_box = CTkEntry(
|
self.entry_message_box = CTkEntry(
|
||||||
self,
|
self,
|
||||||
placeholder_text="message",
|
placeholder_text="message",
|
||||||
font=CTkFont(family=self.FONT_FAMILY)
|
font=CTkFont(family=self.FONT_FAMILY),
|
||||||
)
|
)
|
||||||
self.entry_message_box.grid(row=1, column=1, columnspan=2, padx=5, pady=(5, 10), sticky="nsew")
|
self.entry_message_box.grid(row=1, column=1, columnspan=2, padx=5, pady=(5, 10), sticky="nsew")
|
||||||
|
|
||||||
@@ -614,12 +614,21 @@ class App(CTk):
|
|||||||
if self.ENABLE_AUTO_CLEAR_CHATBOX == True:
|
if self.ENABLE_AUTO_CLEAR_CHATBOX == True:
|
||||||
self.entry_message_box.delete(0, customtkinter.END)
|
self.entry_message_box.delete(0, customtkinter.END)
|
||||||
|
|
||||||
|
BREAK_KEYSYM_LIST = [
|
||||||
|
"Delete", "Select", "Up", "Down", "Next", "End", "Print",
|
||||||
|
"Prior","Insert","Home", "Left", "Clear", "Right", "Linefeed"
|
||||||
|
]
|
||||||
def entry_message_box_press_key_any(self, event):
|
def entry_message_box_press_key_any(self, event):
|
||||||
# send OSC typing
|
# send OSC typing
|
||||||
send_typing(True, self.OSC_IP_ADDRESS, self.OSC_PORT)
|
send_typing(True, self.OSC_IP_ADDRESS, self.OSC_PORT)
|
||||||
if self.ENABLE_FOREGROUND:
|
if self.ENABLE_FOREGROUND:
|
||||||
self.attributes("-topmost", False)
|
self.attributes("-topmost", False)
|
||||||
|
|
||||||
|
if event.keysym != "??":
|
||||||
|
if len(event.char) != 0 and event.keysym in self.BREAK_KEYSYM_LIST:
|
||||||
|
self.entry_message_box.insert("end", event.char)
|
||||||
|
return "break"
|
||||||
|
|
||||||
def entry_message_box_leave(self, event):
|
def entry_message_box_leave(self, event):
|
||||||
# send OSC typing
|
# send OSC typing
|
||||||
send_typing(False, self.OSC_IP_ADDRESS, self.OSC_PORT)
|
send_typing(False, self.OSC_IP_ADDRESS, self.OSC_PORT)
|
||||||
|
|||||||
Reference in New Issue
Block a user