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

example keyboard showing  imeOn key / imeOff key

  • ImeOn key on the RIGHT of Space bar. Key top should be depicted as single key showing  imeOn key.
  • ImeOff key on the LEFT of Space bar. Key top should be depicted as single key showing  imeff key.

Note: Eisu key (Caps Lock key) is expected to not print another single key showing  imeOff key, 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.

Resources

Virtual-Key Codes

Using Keyboard Input

Keyboard Identifiers and Input Method Editors for Windows