Eryk Sun <[email protected]> added the comment:
I think the following wiki article still applies even though it was first
discussed in 2003: "KeySyms on platforms other than X11" [1]. In particular, it
states the following:
On Windows and MacOS X Tk only supports keysyms correctly for a
limited number of keys, namely special keys, and the ranges of ASCII
and ISO-8859-1 (support of ISO-8859-1 on MacOS X since 8.4.2).
I can confirm the result for the Russian keyboard mapping. The value of keysym
is "??", even when combined with the control key.
x:
char: 'ч', ord: 0447, code: 0058, sym: '??', num: 0447.
Ctrl+x:
char: '\x18', ord: 0018, code: 0058, sym: '??', num: 0447.
c:
char: 'с', ord: 0441, code: 0043, sym: '??', num: 0441.
Ctrl+c:
char: '\x03', ord: 0003, code: 0043, sym: '??', num: 0441.
v:
char: 'м', ord: 043c, code: 0056, sym: '??', num: 043c.
Crl+v:
char: '\x16', ord: 0016, code: 0056, sym: '??', num: 043c.
(I modified the keyevent function from msg408400 to use hexadecimal and repr
formatting.)
I checked Ubuntu 20.04 with a Russian keyboard layout. It seems in Linux the
combination with the control key changes keysym and keysym_num to use the ASCII
characters "x", "c", and "v":
x:
char: 'ч', ord: 0447, code: 0035, sym: 'Cyrillic_che', num: 06de.
Ctrl+x:
char: '\x18', ord: 0018, code: 0035, sym: 'x', num: 0078.
c:
char: 'с', ord: 0441, code: 0036, sym: 'Cyrillic_es', num: 06d3.
Ctrl+c:
char: '\x03', ord: 0003, code: 0036, sym: 'c', num: 0063.
v:
char: 'м', ord: 043c, code: 0037, sym: 'Cyrillic_em', num: 06cd.
Crl+v:
char: '\x16', ord: 0016, code: 0037, sym: 'v', num: 0076.
---
[1] https://wiki.tcl-lang.org/page/KeySyms+on+platforms+other+than+X11
----------
_______________________________________
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