Skip to content
maildrop edited this page Jan 18, 2020 · 15 revisions

Welcome to the DearImGui-with-IMM32 wiki!

What is IME?

For historical reasons, In the days of MS-DOS, Japanese input was created as a character device driver. This character device was a virtual Japanese typewriter. it was called a front-end processor (FEP). Today, it is called input method editor(IME).

JapaneseTypeWriter This image is an old Japanese typewriter. an user has picked up character from the board. Japanese typewriter SH-280.jpg

Today, users do not use keyboards with such a large number of keys, Currently used physical keyboards are mainly keyboards for inputting English text and keyboards with some additional keys. In the Japanese environment, a keyboard with 106 keys, the specifications of which were determined by OADG, and a 109 keyboard with three additional Win and App keys are used. Depending on user preferences, 101/104 keyboards are also used. In other words, it's almost the same as your keyboard. but from the application's point of view, they appear to be using keyboard with a large number of keys. In windows, that is the character you receive using WM_CHAR.

This mechanism worked very well, keeping application changes to a minimum. DearImGui-with-IMM32 implements this minimal change.

Far East Asian languages ​​will not be able to enter their own words without this IME support. Therefore, IME support is essential for today's Far East Asian character input.

IME terminology

overlay

I explained that the role of the IME is to implement such a virtual keyboard with many keys. Now, how to use such a virtual keyboard.

Note
Alt + `and Alt + @ are assigned to the IME ON / OFF key for historical reasons. Be careful when choosing shortcut keys for your application.
Recent IMEs also capture Alt + Backspace and IME is enabled. Please note that Alt + Backspace works differently on Google IME.

Major IME

IME has several implementations.

Unfortunately, the behavior is slightly different depending on the implementation. Here are the major implementations.

  • Microsoft IME -- IME standard in Microsoft Windows

  • Google Japanese Input

  • ATOK -- Software with a long history. it has been used for over 30 years

implementation refenrece

IO.WantTextInput

WantTextInput