-
Notifications
You must be signed in to change notification settings - Fork 208
Open
Labels
Description
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
- Open JetKVM in Chrome for Windows.
- Focus the viewer area (where keyboard input is captured).
- 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