New submission from Justin <[email protected]>:
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 <[email protected]>
<https://bugs.python.org/issue42640>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com