Terry J. Reedy <[email protected]> added the comment:
It appears that your particular keyboard program is translating Ctrl + letter
key combinations to something other than the default Ascii Control-letter code.
Do you see the same problem with Notepad? To test what tcl/tk and hence
tkinter see, expand the test code to
import tkinter as tk
r = tk.Tk()
t = tk.Text(r)
t.pack()
def keyevent(e):
if c := e.char:
print(f'char: {c}, ord: {ord(c)}, ', end='')
print(f'code: {e.keycode}, sym: {e.keysym}, num: {e.keysym_num}.')
t.bind('<Key>', keyevent)
If I type c and ctrl + c in the tk box, I see the following in either the IDLE
Shell or Command Prompt.
char: c, ord: 99, code: 67, sym: c, num: 99.
code: 17, sym: Control_L, num: 65507.
char: , ord: 3, code: 67, sym: c, num: 99.
I expect the third line will be different for you when you switch to Russian.
Your immediate fix is to use either the IDLE Edit menu or the right-click
context menu to access copy and paste functions. A longer term fix might be to
get a different Russian keyboard program.
Assuming that I am correct above, I will make this an IDLE doc issue to add
something about non-ascii keyboard issues, and include the test program above.
----------
title: Ctrl+C, C+V in IDLE on Windows do not work with Cyrillic keys -> Ctrl+C,
C+V in tk.Text on Windows do not work with Cyrillic keys
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue46052>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com