PySDL2のTextEntryでIME表示しようとするも失敗
前回と別の方法でやってみたのだが。
成果物
PySDL2.GUI.TextEntry.201711221253
開発環境
- Linux Mint 17.3 MATE 32bit
- SDL2 2.0.2
- pyenv 1.0.10
参考
コード
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のみ有効である仕様だったり。