如何使用pyglet或pygame接收非字母键盘输入?

2024-09-28 03:16:12 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有可能在Pyglet或Pygame中获得非字母数据(如中文、韩文、日文)的键盘输入?你知道吗

在使用Python3的MacOS环境中,在python级别可以毫无问题地接收非字母的文本字符串。 但是,当选择非英语键盘输入时,Pyglet键函数会出错。相比之下,Pygame只是忽略键盘输入设置,在每个键盘上输入小写字母。你知道吗

我检查了Pyglet和Pygame的代码,似乎根本的问题是Pyglet键输入函数不能识别非拉丁字符。你知道吗

    Traceback (most recent call last):
  File "_ctypes/callbacks.c", line 234, in 'calling callback function'
  File "/Applications/PsychoPy3.app/Contents/Resources/lib/python3.6/pyglet/libs/darwin/cocoapy/runtime.py", line 1121, in objc_method
    result = f(py_self, *args)
  File "/Applications/PsychoPy3.app/Contents/Resources/lib/python3.6/pyglet/window/cocoa/pyglet_view.py", line 158, in pygletKeyDown_
    symbol = getSymbol(nsevent)
  File "/Applications/PsychoPy3.app/Contents/Resources/lib/python3.6/pyglet/window/cocoa/pyglet_view.py", line 52, in getSymbol
    return charmap[chars[0].upper()]
KeyError: '\u3141'

有人成功地用非字母键盘输入了按键吗?你知道吗


Tags: inpyapplib字母linecontentspygame

热门问题