V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
SeleiXi
V2EX  ›  Python

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

  •  
  •   SeleiXi · 332 天前 · 1543 次点击
    这是一个创建于 332 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题,本人在测试以 pygame 开发的游戏时,输入物件移动的 WASD 时会因为用户以中文输入法输入而无法进行移动。
    10 条回复    2023-12-26 16:45:15 +08:00
    b821025551b
        1
    b821025551b  
       332 天前
    关键词“IME”,不熟悉 pygame ,搜了一下这个 https://www.cnblogs.com/Renqy/p/12841745.html 可以参考其中 IME 部分。
    AoEiuV020JP
        2
    AoEiuV020JP  
       332 天前
    前阵子帮公司 qt 解决了这种问题,解决方法是,问 AI ,
    renmu
        3
    renmu  
       332 天前 via Android
    让用户切输入法,打单机的应该都知道吧
    SeleiXi
        4
    SeleiXi  
    OP
       332 天前
    @b821025551b 貌似不行,他根本沒有检测到有键盘输入这个事件
    SeleiXi
        5
    SeleiXi  
    OP
       332 天前
    @AoEiuV020JP 换了几种方法问过了 awa ()
    SeleiXi
        6
    SeleiXi  
    OP
       332 天前
    @renmu 但自己玩很多单机的时候都不用切呀
    ashuai
        7
    ashuai  
       332 天前
    csl123
        8
    csl123  
       332 天前
    搜索一下 IME 或者 composition event
    darcyC
        9
    darcyC  
       332 天前
    可以的哦,看一下下面的事件:
    for event in pygame.event.get():
    if event.type == pygame.QUIT:
    running = False

    elif event.type == pygame.TEXTEDITING:
    print("TEXTEDITING", event) ## 看这个事件哦
    darcyC
        10
    darcyC  
       332 天前
    如果要完全停止处理中文输入,使用 pygame.key.stop_text_input()
    默认是启用的,所以会被 TEXTEDITING 事件处理。
    pygame.key 这个 module 还可以设置候选框的位置
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   963 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:19 · PVG 04:19 · LAX 12:19 · JFK 15:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.