Skip to content

Right Shift and 'ろ' keys not recognized; '半角/全角' key unstable on Windows/Chrome (JIS 106) #740

@butameron

Description

@butameron

Disclaimer

  • I have read and understood the disclaimer.

Application version

0.4.7-dev202507031912

System version

0.2.5

Device model

JetKVM

Extension model

None

Remote device Hardware

No response

Remote device OS

Windows 11 (Japanese)

Bug description

Right Shift key not recognized on Windows/Chrome (JIS 106)

Steps to reproduce

  1. Open JetKVM in Chrome for Windows.
  2. Focus the viewer area (where keyboard input is captured).
  3. Press Right Shift.

Expected behavior

  • Footer indicator shows: ShiftRight
  • Remote PC receives Right Shift press

Actual behavior

  • Footer indicator is empty
  • Right Shift is ignored by the remote PC

Environment

  • OS: Windows 11 Pro (Japanese)
  • Browser: Google Chrome for Windows 139.0.7258.128 (Official Build) (64-bit)
  • Keyboard layout: Japanese 106-key (JIS)

Diagnostics (DevTools)

Verified on about:blank with the following code:

window.addEventListener('keydown', e => {
  if (e.key === 'Shift' || e.code.startsWith('Shift')) {
    console.log('KEYDOWN', { key: e.key, code: e.code, location: e.location });
  }
});
window.addEventListener('keyup', e => {
  if (e.key === 'Shift' || e.code.startsWith('Shift')) {
    console.log('KEYUP', { key: e.key, code: e.code, location: e.location });
  }
});

Results:

Left Shift

KEYDOWN {key: 'Shift', code: 'ShiftLeft',  location: 1}
KEYUP   {key: 'Shift', code: 'ShiftLeft',  location: 1}

Right Shift

KEYDOWN {key: 'Shift', code: '', location: 0}
KEYUP   {key: 'Shift', code: '', location: 0}

Edit

I also tested other keys and found the following issues:

  • The 'ろ' (Ro) key is also unrecognized (no response at all).
  • The 半角/全角 (Hankaku/Zenkaku) key works but is unstable (the Backquote key appears to get stuck in a pressed state).

Since Shift + 'ろ' (Ro) inputs "_", I can’t type underscores at all, which makes it difficult to edit configuration files, etc., on remote servers.

I tested this on the client:

window.addEventListener('keydown', e => {
  console.log('KEYDOWN', { key: e.key, code: e.code, location: e.location, keyCode: e.keyCode });
});
window.addEventListener('keyup', e => {
  console.log('KEYUP', { key: e.key, code: e.code, location: e.location, keyCode: e.keyCode });
});

'ろ' key

KEYDOWN {key: '_', code: 'IntlRo', location: 0, keyCode: 226}
KEYUP {key: '_', code: 'IntlRo', location: 0, keyCode: 226}

Shift + 'ろ' (to input '_')

KEYDOWN {key: 'Shift', code: 'ShiftLeft', location: 1, keyCode: 16}
KEYDOWN {key: '_', code: 'IntlRo', location: 0, keyCode: 226}
KEYUP {key: '_', code: 'IntlRo', location: 0, keyCode: 226}
KEYUP {key: 'Shift', code: 'ShiftLeft', location: 1, keyCode: 16}

半角/全角 (Hankaku/Zenkaku) key:

On odd presses

KEYUP {key: 'Zenkaku', code: 'Backquote', location: 0, keyCode: 244}
KEYDOWN {key: 'Hankaku', code: 'Backquote', location: 0, keyCode: 243}

On even presses

KEYUP {key: 'Hankaku', code: 'Backquote', location: 0, keyCode: 243}
KEYDOWN {key: 'Zenkaku', code: 'Backquote', location: 0, keyCode: 244}

The footer indicator continuously shows Keys: Backquote.
Also, at times it behaves as if the key is held down, and the IME flickers between full-width and half-width input.

Updated: added keyCode

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions