[New-bugs-announce] [issue42640] tkinter throws exception when key is pressed
Justin
report at bugs.python.org
Mon Dec 14 13:22:37 EST 2020
New submission from Justin <justin.a.black at gmail.com>:
On macOs 10.14.6 laptop with a qwerty layout, when I switch my keyboard layout to `French - PC` and use a tkinter keyboard listener
and press the '[' button which should be the '^' button on the azerty keyboard, this Error is thrown:
```
2020-12-14 10:13:26.533 Python[14880:1492926] *** Terminating app due to uncaught exception 'NSRangeException', reason: '-[__NSCFConstantString characterAtIndex:]: Range or index out of bounds'
*** First throw call stack:
(
0 CoreFoundation 0x00007fff41ce49ad __exceptionPreprocess + 256
1 libobjc.A.dylib 0x00007fff6c3dfa17 objc_exception_throw + 48
2 CoreFoundation 0x00007fff41ce47df +[NSException raise:format:] + 201
3 CoreFoundation 0x00007fff41c5a159 -[__NSCFString characterAtIndex:] + 102
4 Tk 0x00007fff4da8a806 TkpInitKeymapInfo + 719
5 Tk 0x00007fff4da905e9 Tk_MacOSXSetupTkNotifier + 793
6 Tcl 0x00007fff4d98c48e Tcl_DoOneEvent + 301
7 _tkinter.cpython-38-darwin.so 0x00000001090802de _tkinter_tkapp_mainloop + 342
8 Python 0x0000000108ac1b0a method_vectorcall_FASTCALL + 250
9 Python 0x0000000108b5a299 call_function + 346
10 Python 0x0000000108b51457 _PyEval_EvalFrameDefault + 3895
11 Python 0x0000000108b5ae5d _PyEval_EvalCodeWithName + 2107
12 Python 0x0000000108abad39 _PyFunction_Vectorcall + 217
13 Python 0x0000000108abcc7d method_vectorcall + 135
14 Python 0x0000000108b5a299 call_function + 346
15 Python 0x0000000108b51477 _PyEval_EvalFrameDefault + 3927
16 Python 0x0000000108b5ae5d _PyEval_EvalCodeWithName + 2107
17 Python 0x0000000108b5047d PyEval_EvalCode + 51
18 Python 0x0000000108b89025 run_eval_code_obj + 102
19 Python 0x0000000108b88473 run_mod + 82
20 Python 0x0000000108b87345 PyRun_FileExFlags + 160
21 Python 0x0000000108b86a29 PyRun_SimpleFileExFlags + 271
22 Python 0x0000000108b9e449 Py_RunMain + 1870
23 Python 0x0000000108b9e790 pymain_main + 306
24 Python 0x0000000108b9e7de Py_BytesMain + 42
25 libdyld.dylib 0x00007fff6dbae3d5 start + 1
26 ??? 0x0000000000000002 0x0 + 2
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Abort trap: 6
```
One can verify this by running this program on a macOs laptop with a qwerty keyboard, switching the layout to French - PC and pressing the '[' key.
```
import pygame
pygame.init()
pygame.display.set_mode((100, 100))
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit(); #sys.exit() if sys is imported
if event.type == pygame.KEYDOWN:
key_name = pygame.key.name(event.key)
print(event, event.key.__class__, event.key, key_name)
elif event.type == pygame.KEYUP:
key_name = pygame.key.name(event.key)
print(event, event.key.__class__, event.key, key_name)
```
```
----------
messages: 382998
nosy: spacether
priority: normal
severity: normal
status: open
title: tkinter throws exception when key is pressed
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue42640>
_______________________________________
More information about the New-bugs-announce
mailing list