python - 如何使用 pyglet 或 pygame 接收非字母键盘输入?
问题描述
是否可以在 Pyglet 或 Pygame 中获取非字母数据(如中文、韩文、日文)的键盘输入?
在使用 Python3 的 MacOS 环境中,可以在 python 级别毫无问题地接收非字母的文本字符串。However, Pyglet key functions give error when non-english keyboard input is selected. 相比之下,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'
有人成功使用非字母键盘输入键吗?
解决方案
推荐阅读
- javascript - React redux 提交并使用下一页提交的数据表单
- amazon-web-services - 我可以使用什么机制来允许我的 Firebase 身份验证用户 SSO 进入 Amazon Connect?
- android - 在 Play 商店中发布应用程序后,Firestore 文档成功写入,但缺少数据
- javascript - 只有第一个 scrollspy 在我的网站上工作,无论我做什么,第二个都没有响应,即使是相同的结构和不同的 id
- python - 使用 selenium 上传文件时出错
- javascript - Vue Js:如何在Vue数据表组件中添加序列号列
- linux - mips-linux-gun-as 和 mips-linux-gnu-ld 编译 mips 失败
- flutter - Flutter Title 中心对齐
- google-admin-sdk - 获取 403 尝试列出目录用户
- .net - 为什么 for each 循环不断将相同的项目一次又一次地添加到集合中?