やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

PySDL2のTextEntryでIME表示しようとするも失敗

前回と別の方法でやってみたのだが。

成果物

GitHubPySDL2.GUI.TextEntry.201711221253

開発環境

参考

コード

import sys
import sdl2
import sdl2.ext

def run():
    sdl2.ext.init()
    sdl2.SDL_StartTextInput()

    window = sdl2.ext.Window("PySDL2でTextEntryを作る", size=(800, 600))
    window.show()

    running = True
    while running:
        events = sdl2.ext.get_events()
        for event in events:
            if event.type == sdl2.SDL_QUIT:
                running = False
                break
            if event.type == sdl2.SDL_TEXTINPUT:
                print(event.text.text)
                print(event.text.text.decode('utf-8'))
            if event.type == sdl2.SDL_TEXTEDITING:
                print(event.edit.text)
                print(event.edit.start)
                print(event.edit.length)
                print(event.edit.text.decode('utf-8'))
            

if __name__ == "__main__":
    sys.exit(run())

所感

IMEが有効にならない。切り替えることもできない。なぜ……。PySDL2, SDL2, システム, どれの仕業なのかも切り分けられない。

まさかWindowsのみ有効である仕様だったり。