Keyboard Japan - ImeOn / ImeOff Implementation
Supported Windows Versions
The information in this topic applies to the following operating systems.
- Windows 10 Version 1903 (OS build 18362.1049 or later)
- 1909 (OS build 18363.1049 or later)
- 2004 (OS build 19041.388 or later)
- Versions of Windows 10 later than 2004
ImeOn / ImeOff key - Japan keyboard with Windows
This topic is for hardware keyboard manufacturers who plan to create ImeOn key / ImeOff key, or IME (Input Method Editor) developers who plan to provide the experience with the ImeOn key / ImeOff key running on Windows.
This topic provides a brief overview of ImeOn key / ImeOff key, guideline for HID usage, PS/2 Scan code and Virtual-Key code, and Microsoft IME behavior with the ImeOn key / ImeOff key on Windows.
For keyboard manufacturers:
- Keyboard manufacturers must use the HID usage defined in HID usage, PS/2 Scan code, and Virtual-Key code for ImeOn key / ImeOff key section below for the usage the ImeOn key and ImeOff key send so that the usage can be transferred to the corresponding Virtual-Key codes in Windows.
- Keyboard manufacturers should use the same key top design described below to create a consistent hardware keyboard experience.
For IME developers:
- IME developers must define the experience on top of the Virtual-Key codes transferred from the HID usage the ImeOn key and ImeOff key send. See HID usage, PS/2 Scan code, and Virtual-Key code for ImeOn key / ImeOff key section for the Virtual-Key code values.
- IME developers should provide the same behavior of ImeOn key and ImeOff key as described in Microsoft IME behavior with ImeOn key - ImeOff key section for a consistent Japanese input experience.
ImeOn ImeOff key for a Japanese keyboard layout
- ImeOn key on the RIGHT of Space bar. Key top should be depicted as
.
- ImeOff key on the LEFT of Space bar. Key top should be depicted as
.
Note: Eisu key (Caps Lock key) is expected to not print , so as to avoid conflict with ImeOff key.
HID usage, PS/2 Scan code, and Virtual-Key code for ImeOn key / ImeOff key
The following table describes the HID Usage that ImeOn key / ImeOff key is required to send, PS/2 Scan code and Virtual-Key code translated from the HID Usage.
Key | HID Usage Name | HID Usage page | HID Usage ID | PS/2 Set 2 Make | PS/2 Set 2 Break | Virtual Key-code Constant/Value |
---|---|---|---|---|---|---|
ImeOn | Keyboard LANG1 | 0x07 | 0x90 | 0xF2 | None | VK_IME_ON 0x16 |
ImeOff | Keyboard LANG2 | 0x07 | 0x91 | 0xF1 | None | VK_IME_OFF 0x1A |
For more information, see Virtual-Key Codes.
Microsoft IME behavior with ImeOn key - ImeOff key
Microsoft IME behavior with ImeOn key / ImeOff key is as follows for the specified states.
- ImeOn key
Key combination | No input/Converted strings | Only Input strings | Converted | Showing Candidate List | Changing POS boundary | Char Input into Converted POS |
---|---|---|---|---|---|---|
ImeOn | Enter Hiragana mode | Enter Hiragana mode | Enter Hiragana mode | Enter Hiragana mode | Enter Hiragana mode | Enter Hiragana mode |
Alt + ImeOn (off by default) | Switch between Kana input and Romaji input | Switch between Kana input and Romaji input | Switch between Kana input and Romaji input | Switch between Kana input and Romaji input | Switch between Kana input and Romaji input | Switch between Kana input and Romaji input |
Ctrl + ImeOn | Reconversion | None | None | None | None | None |
Shift + ImeOn | Enter Full-width Katakana mode | Enter Full-width Katakana mode | Enter Full-width Katakana mode | Enter Full-width Katakana mode | Enter Full-width Katakana mode | Enter Full-width Katakana mode |
- ImeOff key
Key combination | No input/Converted strings | Only Input strings | Converted | Showing Candidate List | Changing POS boundary | Char Input into Converted POS |
---|---|---|---|---|---|---|
ImeOff | Enter Half-width Alphanumeric mode | Enter Half-width Alphanumeric mode | Enter Half-width Alphanumeric mode | Enter Half-width Alphanumeric mode | Enter Half-width Alphanumeric mode | Enter Half-width Alphanumeric mode |
Ctrl + ImeOff | None | Toggle Kana (1) | Toggle Kana(1) | Toggle Kana (1) | Toggle Kana (1) | Toggle Kana (1) |
Shft + ImeOff | None | FullAlphanumeric (2) | FullAlphanumeric(2) | FullAlphanumeric (2) | FullAlphanumeric (2) | FullAlphanumeric (2) |
(1) Toggle among Hiragana, Full-width Katakana, and Half-width Katakana.
(2) Toggle among un-capitalized, all-capitalized, and first-character-capitalized full-width alphanumeric characters.