Semicolon ';' recognized as a plus sign '+' when setting key binding from Japanese keyboard layout.

Detailed steps to reproduce the problem:

  1. Make sure your keyboard is in a JIS layout.
  2. Preferences > Key Bindings > + button to add new Key Combination > Record cmd + shift + ;
  3. During the recording, semicolon shows up properly. But once you click "OK", ; turns into + and is recorded as a key binding.
  4. This happens whether the Emulate U.S. Keyboard option is enabled or not.

What happened: JIS keyboard has a different layout from the U.S. (ANSI) keyboard layout. ; and + share the same key. So to input + you need to press shift + ;. It seems that this caused a problem when recording the shortcut.

Screen_Shot_2020-03-14_at_16.42.01

Screen_Shot_2020-03-14_at_16.42.10

What should have happened: It should properly recognize semicolon and not turn it into a plus sign.