监听键盘输入时,如何判定以中文输入法输入的内容?

140 天前
 SeleiXi
如题,本人在测试以 pygame 开发的游戏时,输入物件移动的 WASD 时会因为用户以中文输入法输入而无法进行移动。
1344 次点击
所在节点    Python
10 条回复
b821025551b
140 天前
关键词“IME”,不熟悉 pygame ,搜了一下这个 https://www.cnblogs.com/Renqy/p/12841745.html 可以参考其中 IME 部分。
AoEiuV020JP
140 天前
前阵子帮公司 qt 解决了这种问题,解决方法是,问 AI ,
renmu
140 天前
让用户切输入法,打单机的应该都知道吧
SeleiXi
140 天前
@b821025551b 貌似不行,他根本沒有检测到有键盘输入这个事件
SeleiXi
140 天前
@AoEiuV020JP 换了几种方法问过了 awa ()
SeleiXi
140 天前
@renmu 但自己玩很多单机的时候都不用切呀
ashuai
140 天前
csl123
140 天前
搜索一下 IME 或者 composition event
darcyC
140 天前
可以的哦,看一下下面的事件:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False

elif event.type == pygame.TEXTEDITING:
print("TEXTEDITING", event) ## 看这个事件哦
darcyC
140 天前
如果要完全停止处理中文输入,使用 pygame.key.stop_text_input()
默认是启用的,所以会被 TEXTEDITING 事件处理。
pygame.key 这个 module 还可以设置候选框的位置

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1003523

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX