Is it possible to leverage the default browser/OS IME to capture asian language keyboards on a canvas?

I’d like to support typing asian languages with an english keyboard in three.js by leveraging the default IME (Input Method Editor). This would enable using romanized spellings for applicable languages (example: romaji for typing Japanese or pinyin for Chinese). Unfortunately I have no idea how to manually get the IME to pop up when a canvas element is focused or if this is even possible?

You could create a hidden input text field that’d become focused after clicking specific objects in the scene - that way the pop-up should show up (you can also use Html in r3f or CSS2DRenderer in vanilla threejs to place the hidden input in the clicked 3D object location, that way the pop-up will show in the correct place as well - just make sure the input has visibility: hidden and pointer-events: none applied via CSS.)

1 Like

That should definitely work, thanks!